Gibt den nächsten Dateinamen aus, welcher durch das Suchhandle definiert wurde.
FileFindNextFile ( search [, flag = 0])
search | Das Suchhandle, wie es von FileFindFirstFile() zurückgegeben wurde. |
flag | [optional] dieses Flag bestimmt, ob in extended detaillierte Dateiinformationen zurückgegeben werden sollen. 0 = (Standard) verwendet @extended um 1 oder 0 zurückzugeben, wenn das Suchergebnis ein Verzeichnis ist. 1 = Gibt einen String in @extended im gleichen Format wie FileGetAttrib() zurück. |
Erfolg: | Ein Dateinamen entsprechend eines früheren Aufrufes von FileFindFirstFile(). @extended wird mit der Flag Option gesetzt. |
Fehler: | Setzt @error auf 1, wenn keine weiteren Dateien/Verzeichnisse den Suchkriterien entsprechen. |
Ein vorheriger Aufruf von FileFindFirstFile() ist nötig, um das Suchhandle zu bekommen. Jeder folgende Aufruf von FileFindNextFile() gibt die jeweils nächste Datei zurück, die den Suchhandle aus FileFindFirstFile() entspricht. Wenn @error = 1 ist, passen keine weiteren Dateien auf die Suche.
Wenn die Suche mit den FileFind...-Funktionen beendet wurden, muss FileClose() aufgerufen werden, um das Suchhandle wieder freizugeben.
Aufgrund der zugrunde liegenden Windows-API (FindFirstFile) sucht diese Funktion die langen und kurzen Dateinamen. Wenn man unerwartete Ergebnisse erhält, dann ist zu prüfen, ob es nicht der kurze Dateiname ist, der gefunden wurde.
#include <MsgBoxConstants.au3>
Example()
Func Example()
; Weist einer lokalen Variable ein Suchhandle für alle Dateien im aktuellen Verzeichnis zu.
Local $hSearch = FileFindFirstFile("*.*")
; Prüft, ob die Suche erfolgreich war. Falls nicht wird eine Nachricht dargestellt und False zurückgegeben.
If $hSearch = -1 Then
MsgBox($MB_SYSTEMMODAL, "", "Fehler: Es passt keine Dateien bzw. Ordner zu dem Suchmuster.")
Return False
EndIf
; Weist einer lokalen Variable einen leeren String zu, die die Namen der gefundenen Dateien aufnimmt.
Local $sFileName = "", $iResult = 0
While 1
$sFileName = FileFindNextFile($hSearch)
; Falls es keine passenden Dateien mehr gibt.
If @error Then ExitLoop
; Zeigt den Dateinamen.
$iResult = MsgBox(($MB_OKCANCEL + $MB_SYSTEMMODAL), "", "Datei: " & $sFileName)
If $iResult <> $IDOK Then ExitLoop ; Falls der Benutzer den Abbrechen oder Schließen Button anklickt.
WEnd
; Schließt das Suchhandle.
FileClose($hSearch)
EndFunc ;==>Example