TXT Datei und Ordner

  • Hi,

    habe da ein kleine Frage ich benötige eine Zuordnung von Inhalt aus eine TXT Datei zum Ordnerinhalt. D.h. in der Txt steht ein Name und ein MailAdresse. So z.B.
    <Name>;<MailAdresse>
    im Ordner haben die Dateien folgen Namenaufbau <Name><Datum>.csv.
    Ich möchte das nach dem Namen beides verglichen wird und in eine Datei geschrieben wird.
    Mit dem Aufbau
    <Name>;<Dateiname>;<Mailadresse>
    zur weiteren arbeit.
    Mein Ansatz

    Spoiler anzeigen
    [autoit]

    #include <File.au3>
    #include <Array.au3>
    #include <date.au3>
    #include <String.au3>
    ;
    Dim $ADRESSE
    $pfad = "C:\Rechnungslauf\2007\Auslagerung\Adresse.txt"
    ;
    _FileReadToArray($pfad, $ADRESSE)
    If @error = 1 Then
    MsgBox(0, "", "No Files\Folders Found.")
    Exit
    EndIf
    ;
    $file = FileOpen("C:\Thomas\Ordnerliste.txt", 1)
    $FileList = _FileListToArray("C:\Rechnungslauf\2007\Auslagerung\LOG\", "*.csv", 1)
    If @error = 1 Then
    MsgBox(0, "", "No Files\Folders Found.")
    Exit
    EndIf
    If IsArray($FileList) Then
    For $i = 1 To UBound($FileList) - 1
    If StringLeft($FileList[$i], 6) = StringLeft($ADRESSE[$i], 6) Then
    FileWriteLine($file, StringLeft($ADRESSE[$i], 6) & ";" & "C:\Rechnungslauf\2007\Auslagerung\LOG\" & $FileList[$i] & ";" & StringMid($ADRESSE[$i], 8) & @CRLF)
    EndIf
    Next
    EndIf

    [/autoit]

    Wie bekomme ich den Vergleich richtig hin. Hier happertes bei mir.

    MFG Taucher_2006

    :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

    Ich verstehe Deinen Ansatz nicht. Du schreibst:
    D.h. in der Txt steht ein Name und ein MailAdresse.

    Warum liest du dann diese eine Zeile in ein Array ein? - Da tuts doch auch FileReadLine().
    Und dann vergleichst du die ersten 6 Zeichen aus der Textdatei mit den Dateinamen. Sind denn die Namen bei dir alle genau 6 Zeichen lang? - Kann ich mir nicht vorstellen.

  • hi,
    ja die Namen sind immer gleichlang da sie so von einem System ausgegeben werden.
    Beispiel:

    TB0000 25.11.07.csv
    und die TXT sieht so aus
    TB0000;mail@mai.com

    Das Ergebniss soll sein
    TB0000;Pfad\TB0000 25.11.07.csv;mail@mail.com

    Taucher

    Kann mir wer helfen?

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

    2 Mal editiert, zuletzt von taucher_2006 (28. November 2007 um 11:11)