Probleme mit _FileListToArray

  • Hallo,

    möchte eine Liste erstellen (TXT File), welche mir die TIF Dateien in einem bestimmten Verzeichnis auflistet.

    Also soll das Ergebnis etwa so Aussehen:

    c:\Testverzeichnis\1.tif
    c:\Testverzeichnis\2.tif
    c:\Testverzeichnis\3.tif

    Die Zeile:

    Code
    _FileWriteFromArray($sPfad & "\Fileliste.txt",_FileListToArray ($temppfad, "*.tif", 0), 1)

    ergibt im TXT File immer:

    1.tif
    2.tif
    3.tif

    obwohl ich die Option Null für incl. Verzeichnis (_FileListToArray) angegeben habe.

    Hat jemand eine Idee oder einen Vorschlag, wie man das anders lösen kann?


    ?(

    Einmal editiert, zuletzt von thhasseler (29. April 2011 um 17:52)

  • Der 3te Parameter von

    [autoit]

    _FileListToArray()

    [/autoit]

    ist standartmäßig auf 0, was nicht bedeutet das der komplette Pfad zurückgegeben wird, sondern das auch Ordner mit aufgelistet werden. Ansonsten (bei 1) werden nur Dateien angezeigt. z.B. hast du in einem ordner 20 Dateien und 10 Ordner, mit 0 würdest du 30 Sachen finden, mit 1 20 und mit 2 10.
    Wenn du noch c:\Testverzeichnis\ davor haben willst musst du es einfach schon vorher dranghängen. Da das aber (denke ich mal) nicht geht indem du "c:\Testverzeichnis\" & _FileListToArray() machst, musst du es wohl oder übel einzelnd machen. Mein Vorschlag wäre so:

    [autoit]

    #include <File.au3>
    $aFile=_FileListToArray($sPath, "*.tif", 1)
    $sString=""
    For $i = 1 to Ubound ($aFiles) -1
    $sString&="c:\Testverzeichnis\"&$aFile[$i]&@crlf
    Next

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

    FileWrite ($sPfad & "\Fileliste.txt", $sString)

    [/autoit]

    Frei aus dem Kopf, aber so ungefähr müsste es gehen.

  • ...hat noch jemand ne Lösung? Trotzdem schon mal danke für die schnelle Antwort.

    • Offizieller Beitrag

    Probier es mal so:

    Spoiler anzeigen
    [autoit]

    #region - Timestamp
    ; 2011-04-29 17:26:55
    #endregion - Timestamp

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

    #include <File.au3>
    $sPath = @DesktopDir
    $aFile = _FileListToArray(@DesktopDir, "*", 1)
    $sString = ""
    For $i = 1 To UBound($aFile) - 1
    $sString &= $sPath & "\" & $aFile[$i] & @CRLF
    Next

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

    FileWrite($sPath & "\Fileliste.txt", $sString)

    [/autoit]