Ordner mienit mehreren Dateien

  • nabend Kollegen,

    ich habe da ein Problem mit einem Ordner, der ca 100 csv Dateien hat. Diese csv Dateien haben im Inhalt einen bestimmten Zeichensatz. das Suchen nach diesem Zeichensatz habe ich schon geschafft. Nur mein Problem ist die Menge der Dateien die unterschiedliche Namen haben. Ich habe momentan keine Kennung wie ich es bewerkstelligen soll. Kann das mit einer Schleife und Wildcard abgehandelt werden. Hat wer einen Lösungaansatz?
    hier ist meiner

    Spoiler anzeigen
    [autoit]

    #include <File.au3>
    Dim $aRecords
    If Not _FileReadToArray("C:\Programme\AutoIt3\Test\*.txt",$aRecords) Then
    MsgBox(4096,"Error", " Fehler beim Einlesen der Datei Fehler:" & @error)
    Exit
    EndIf
    For $x = 1 to $aRecords[0]
    If StringInStr($aRecords[$x], "80001166_2") Then ; Eintrag ist vorhanden
    MsgBox(4096,"","vorhanden")
    ExitLoop
    EndIf
    Next

    [/autoit]

    Danke für eure Hilfe :hm:

    :P Streite nie mit einem Idioten
    Erst zieht er dich auf sein Niveau herunter und schlägt dich dort mit seiner Erfahrung :D

    • Offizieller Beitrag

    Hallo!

    Das geht mit FileListToArray :) So sollte es eigetnlich gehen:

    Spoiler anzeigen
    [autoit]

    #include <File.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $flta = _FileListToArray("C:\Programme\AutoIt3\Test\", "*.txt")
    If Not IsArray($flta) Then Exit MsgBox(16, "", "Keine txt dateien gefunden.. EXIT!")
    For $i = 1 To $flta[0]
    Dim $aRecords
    If Not _FileReadToArray("C:\Programme\AutoIt3\Test\"&$flta[$i],$aRecords) Then
    MsgBox(4096, "Error", " Fehler beim Einlesen der Datei Fehler:" & @error)
    Exit
    EndIf
    For $x = 1 To $aRecords[0]
    If StringInStr($aRecords[$x], "80001166_2") Then ; Eintrag ist vorhanden
    MsgBox(4096, "", "vorhanden bei datei: "&$flta[$i])
    ExitLoop
    EndIf
    Next
    Next

    [/autoit]

    Mfg Spider

    :party4: Juhu^^ 800 posts :party4:

  • hallo

    danke genau das ist es. wie kann ich die gefunden dateien sauber kopieren?
    da klemmt es auch noch einwenig.
    mein ansatz

    FileCopy("C:\Programme\AutoIt3\Test"&$flta, "C:\Programme\AutoIt3\Test\Taucher_2006\")
    da kopiert er aber alle und nicht nur die gefundenn.

    thx

    :P Streite nie mit einem Idioten
    Erst zieht er dich auf sein Niveau herunter und schlägt dich dort mit seiner Erfahrung :D

  • hallo,
    ok habe ich gemacht aber jetzt kopiert er nichts mehr.

    Spoiler anzeigen
    [autoit]

    #include <File.au3>

    $flta = _FileListToArray("C:\Programme\AutoIt3\Test\", "*.txt")
    If Not IsArray($flta) Then Exit MsgBox(16, "", "Keine txt dateien gefunden.. EXIT!")
    For $i = 1 To $flta[0]
    Dim $aRecords
    If Not _FileReadToArray("C:\Programme\AutoIt3\Test\"&$flta[$i],$aRecords) Then
    MsgBox(4096, "Error", " Fehler beim Einlesen der Datei Fehler:" & @error)
    Exit
    EndIf
    For $x = 1 To $aRecords[0]
    If StringInStr($aRecords[$x], "keine Verbindung") Then ; Eintrag ist vorhanden
    MsgBox(4096, "", "vorhanden bei datei: "&$flta[$i])
    _kopieren()
    Sleep(1500)
    ExitLoop
    EndIf
    Next
    Next
    Func _kopieren()
    FileCopy("C:\Programme\AutoIt3\Test"&$flta[$i], "C:\Programme\AutoIt3\Test\Thomas\")
    EndFunc

    [/autoit]

    thx

    :P Streite nie mit einem Idioten
    Erst zieht er dich auf sein Niveau herunter und schlägt dich dort mit seiner Erfahrung :D