DirExist

Prüft, ob ein Ordner existiert, und gibt seine Attribute zurück.

AttributZkette := DirExist(DateiMuster)

Parameter

DateiMuster

Typ: Zeichenkette

Pfad, Ordnername oder Dateimuster, der/das geprüft werden soll. Wenn kein absoluter Pfad angegeben ist, wird DateiMuster im A_WorkingDir-Verzeichnis vermutet.

Rückgabewert

Typ: Zeichenkette

Diese Funktion gibt die Attribute des ersten gefundenen Ordners zurück. Diese Zeichenkette ist eine Teilmenge von RASHDOC, wobei jeder Buchstabe die folgende Bedeutung hat:

Da diese Funktion nur prüft, ob ein Ordner existiert, ist "D" immer im Rückgabewert enthalten. Wenn kein Ordner gefunden wurde, wird eine leere Zeichenkette zurückgegeben.

Bemerkungen

Beachten Sie, dass eine Suche wie DirExist("MeinOrdner\*"), wobei MeinOrdner Dateien und Unterordner enthält, nur mitteilt, ob ein Ordner existiert. Um zu prüfen, ob Dateien und Ordner existieren, verwenden Sie stattdessen FileExist.

Im Gegensatz zu FileGetAttrib unterstützt DirExist die Verwendung von Platzhaltermustern und gibt immer einen nicht-leeren Wert zurück, wenn ein passender Ordner 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 DirExist("C:\MeinOrdner") wahr, wenn der Ordner existiert, andernfalls falsch.

Da DateiMuster auch Platzhalterzeichen enthalten kann, ist DirExist möglicherweise nicht geeignet, um zu prüfen, ob ein Ordnerpfad gültig ist, der in Verbindung mit einer anderen Funktion oder einem anderen Programm verwendet werden soll. Zum Beispiel kann DirExist("Program*") Attribute zurückgeben, auch dann, wenn "Program*" kein gültiger Ordnername ist. Für solche Fälle wird FileGetAttrib empfohlen.

FileExist, FileGetAttrib, Datei-Schleife

Beispiele

Zeigt ein Mitteilungsfenster an, wenn ein Ordner existiert.

if DirExist("C:\Windows")
    MsgBox "Der Zielordner existiert."

Zeigt ein Mitteilungsfenster an, wenn mindestens ein Programmordner existiert.

if DirExist("C:\Program*")
    MsgBox "Mindestens ein Programmordner existiert."

Zeigt ein Mitteilungsfenster an, wenn ein Ordner nicht existiert.

if not DirExist("C:\Temp")
    MsgBox "Der Zielordner existiert nicht."

Zeigt, wie man einen Ordner auf ein bestimmtes Attribut hin überprüft.

if InStr(DirExist("C:\System Volume Information"), "H")
    MsgBox "Der Ordner ist versteckt."