Prüft, ob eine Datei oder ein Ordner existiert, und gibt ihre/seine Attribute zurück.
AttributZkette := FileExist(DateiMuster)
Typ: Zeichenkette
Pfad, Dateiname oder Dateimuster, der/das geprüft werden soll. Wenn kein absoluter Pfad angegeben ist, wird DateiMuster im A_WorkingDir-Verzeichnis vermutet.
Typ: Zeichenkette
Diese Funktion gibt die Attribute der ersten gefundenen Datei oder des ersten gefundenen Ordners zurück. Diese Zeichenkette ist eine Teilmenge von RASHNDOCTL
, wobei jeder Buchstabe die folgende Bedeutung hat:
Wenn die Datei keine Attribute hat (was sehr selten ist), wird "X" zurückgegeben. Wenn keine Datei oder kein Ordner gefunden wurde, wird eine leere Zeichenkette zurückgegeben.
Beachten Sie, dass eine Platzhalterprüfung wie InStr(FileExist("MeinOrdner\*"), "D")
, wobei MeinOrdner Dateien und Unterordner enthält, nur mitteilt, ob die erste gefundene Datei ein Ordner ist, nicht ob ein Ordner existiert. Um letzteres zu prüfen, verwenden Sie DirExist, z.B. DirExist("MeinOrdner\*")
.
Im Gegensatz zu FileGetAttrib unterstützt FileExist die Verwendung von Platzhaltermustern und gibt immer einen nicht-leeren Wert zurück, wenn eine passende Datei gefunden wurde.
Da eine leere Zeichenkette als "falsch" angesehen wird, kann der Rückgabewert der Funktion immer als boolescher Scheinwert verwendet werden. Zum Beispiel ist die Anweisung if FileExist("C:\Meine Datei.txt")
wahr, wenn die Datei existiert, andernfalls falsch.
Da DateiMuster auch Platzhalterzeichen enthalten kann, ist FileExist möglicherweise nicht geeignet, um zu prüfen, ob ein Dateipfad gültig ist, der in Verbindung mit einer anderen Funktion oder einem anderen Programm verwendet werden soll. Zum Beispiel kann FileExist("*.txt")
Attribute zurückgeben, auch dann, wenn "*.txt" kein gültiger Dateiname ist. Für solche Fälle wird FileGetAttrib empfohlen.
DirExist, FileGetAttrib, Datei-Schleife
Zeigt ein Mitteilungsfenster an, wenn das D-Laufwerk existiert.
if FileExist("D:\") MsgBox "Das Laufwerk existiert."
Zeigt ein Mitteilungsfenster an, wenn mindestens eine Textdatei in einem Verzeichnis existiert.
if FileExist("D:\Docs\*.txt") MsgBox "Mindestens eine TXT-Datei existiert."