Inhalt eines Arrays, welches in ein Logfile geschrieben wird nach Datei und Verzeichnis kennzeichnen

  • Hallo an die AutoIT Gemeinde,

    ich würde gerne in ein Log File eine Fileliste schreiben die aus bestimmten Gründen verschoben wurde und dabei noch vermerken, ob es sich bei dem verschobenen Objekt um ein Verzeichnis oder eine Datei handelt.

    Das Schreiben ins Logfile gelingt (aus einem Array) nur die Zuweisung, ob Dir oder File gelingt mir (noch) nicht.
    (ich weiss sehrwohl das es FileGetAttrib gibt)

    Code-Snip
    ....
    FileWriteLine($LogFile, "# --- Diese Files/Verzeichnisse wurden verschoben ---")
    $FileList=_FileListToArray($PersDataNotes)
    $rows = UBound($FileList)
    FileWriteLine($LogFile, @CRLF)
    FileWrite($LogFile, _ArrayToString($FileList, @CRLF, 1, $rows-1))
    FileWriteLine($LogFile, @CRLF)
    FileWriteLine($LogFile, @CRLF & "# --- Diese Files/Verzeichnisse wurden nach verschoben ---")
    ....

    das ergibt z.B. im logfile:

    "# --- Diese Files/Verzeichnisse wurden nach verschoben ---"
    aaa.xy
    bbb.xy
    3333
    zzz.xy
    "# --- Diese Files/Verzeichnisse wurden nach verschoben ---"

    Jetzt wäre schön, wenn es sich um ein Dir handelt hinter den Namen ein (Dir) gesetzt zu bekommen

    bbb.xy
    3333 (Dir)
    zzz.xy


    Danke schon einmal im voraus

    Gruss
    Chris

    Einmal editiert, zuletzt von ugt100 (15. Dezember 2009 um 14:44)

  • Hi,

    trenn doch einfach Dein _FileListToArray in Verzeichnisse und Dateien auf:
    $FileList=_FileListToArray($PersDataNotes, "*", 1)
    $DirList=_FileListToArray($PersDataNotes, "*", 2)

    Danch schreibst Du beide Arrays in Dein Logfile.

    oder:

    [autoit]


    #include <array.au3>
    $FileList=_FileListToArray($PersDataNotes, "*", 1)
    $DirList=_FileListToArray($PersDataNotes, "*", 2)
    _ArrayDelete ($FileList, 0)
    _ArrayDelete ($DirList, 0)
    For $i = 0 To UBound ($DirList) - 1
    $DirList [$i] = $DirList [$i] & " (Dir)"
    Next
    _ArrayConcatenate ($FileList, $DirList)

    [/autoit]

    ;-))
    Stefan