Funktionreferenz


_FileListToArray

Beschreibung anzeigen in

Listet Dateien und/oder Ordner eines bestimmten Ordners mit Platzhalteroptionen auf (Dateiplatzhalter und ähnlich zu "dir" mit der Option "/B" unter DOS)

#include <File.au3>
_FileListToArray ( $sFilePath [, $sFilter = "*" [, $iFlag = $FLTA_FILESFOLDERS [, $bReturnPath = False]]] )

Parameter

$sFilePath Ordner von dem eine Dateiliste erstellt werden soll.
$sFilter [optional] zu verwendender Filter, Standard ist *. (* und ? Wildcards werden akzeptiert. Siehe Bemerkungen)
$iFlag [optional] Bestimmt, ob nur Dateien, nur Ordner oder Dateien und Ordner zurückgegeben werden sollen.
    $FLTA_FILESFOLDERS (0) = (Standard) Gibt Dateien und Ordner zurück
    $FLTA_FILES (1) = Gibt nur Dateien zurück
    $FLTA_FOLDERS (2) = Gibt nur Ordner zurück

Die Konstanten sind in FileConstants.au3 definiert
$bReturnPath [optional] Falls True, so wird der komplette Pfad an den Pfad der Datei bzw. des Ordners angehängt. Bei False ist dieser relativ zu dem $sFilePath Ordner. Standard ist False.

Rückgabewert

Erfolg: Ein 1D Array.
    $aArray[0] = Anzahl von zurückgegebenen Dateien/Ordnern
    $aArray[1] = erste(r) Datei/Ordner
    $aArray[2] = zweite(r) Datei/Ordner
    $aArray[3] = dritte(r) Datei/Ordner
    $aArray[n] = n-te Datei/Ordner
Fehler: Setzt das @error Flag auf ungleich null.
@Error: 1 - Pfad nicht gefunden oder ungültig
2 - $sFilter ungültig
3 - $iFlag ungültig
4 - Keine Datei(en) gefunden

Bemerkungen

Diese Funktion verwendet das Windows Betriebssystem um passende Unterordner mit dem festgelegten Filter zurückzugeben.
Dies funktioniert perfekt für einfache Filter.
Werden komplexe Filter mit mehreren Wildcards verwendet, so kann es zu unerwarteten Ergebnisse kommen.
*test*.* wird zum Beispiel beide Unterordner testX und testX.X erkennen.
Falls dies passiert ist die _FileListToArrayRec() Funktion passender, da diese RegEx verwendet und alle Unterordner so auf den passenden Filter untersucht.
Allerdings kann dies zu einer deutlichen Geschwindigkeitsreduzierung führen.

Siehe FileFindFirstFile() für eine Diskussion über Wildcards.

Verwandte Funktionen

_FileListToArrayRec

Beispiel

Beispiel 1

#include <Array.au3>
#include <File.au3>
#include <MsgBoxConstants.au3>

Example()

Func Example()
    ; Listet alle Dateien und Ordner des Desktops durch Verwendung der Standardparameter auf
    Local $aFileList = _FileListToArray(@DesktopDir, "*")
    If @error = 1 Then
        MsgBox($MB_SYSTEMMODAL, "", "Pfad ungültig.")
        Exit
    EndIf
    If @error = 4 Then
        MsgBox($MB_SYSTEMMODAL, "", "Keine Dateien gefunden.")
        Exit
    EndIf
    ; Zeigt das Ergebnis, zurückgegeben durch _FileListToArray.
    _ArrayDisplay($aFileList, "$aFileList")
EndFunc   ;==>Example

Beispiel 2

#include <Array.au3>
#include <File.au3>
#include <MsgBoxConstants.au3>

Example()

Func Example()
    ; Listet alle Dateien und Ordner im Desktop-Ordner auf. Dabei wird als Parameter Default verwendet und der komplette Pfad zurückgegeben.
    Local $aFileList = _FileListToArray(@DesktopDir, Default, Default, True)
    If @error = 1 Then
        MsgBox($MB_SYSTEMMODAL, "", "Pfad ist ungültig.")
        Exit
    EndIf
    If @error = 4 Then
        MsgBox($MB_SYSTEMMODAL, "", "Keine Dateien gefunden.")
        Exit
    EndIf
    ; Zeigt das Ergebnis welches durch _FileListToArray zurückgegeben wurde.
    _ArrayDisplay($aFileList, "$aFileList")
EndFunc   ;==>Example