Rubrik: Dateisystem · Ordner & Verzeichnisse | VB-Versionen: VB2005, VB2008 | 28.06.10 |
Verzeichnisexistenz prüfen (mit Wildcard-Unterstützung) Existiert ein bestimmtes Verzeichnis? Oder existiert ein ähnliches Verzeichnis? Dieser Tipp gibt die Antwort! | ||
Autor: Dieter Otter | Bewertung: | Views: 12.789 |
www.tools4vb.de | System: Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Wie man die Existenz eines bestimmten Verzeichnisses prüft, ist sicherlich bekannt:
Dim bResult As Boolean = _ System.IO.Directory.Exists("Pfad")
Nachfolgende Funktion geht allerdings einen Schritt weiter. So unterstützt die DirExistsEx-Funktion auch Wildcards, wie ? und *.
Ein paar Beispiele:
Auf der Platte D: existieren folgende Ordner:
D:\ D:\Temp D:\Temporäre Dateien D:\Test D:\Testordner ...
' Prüfen, ob Ordner Temp existiert MsgBox(DirExistsEx("D:\Temp")) ' Gibt True zurück ' Prüfen, ob Ordner Temp1 existiert MsgBox(DirExistsEx("D:\Temp1")) ' Gibt False zurück ' Prüfen, ob ein Ordner existiert, ' der mit "Temporär*" beginnt MsgBox(DirExistsEx("D:\Temporär*")) ' Gibt True zurück
Und hier der Code der Funktion DirExistsEx:
''' <summary> ''' Prüft, ob das angegebene Verzeichnis existiert. ''' </summary> ''' <param name="Path">Verzeichnispfad</param> ''' <remarks>Die Funktion unterstützt auch Wildcards, wie * und ?</remarks> Public Function DirExistsEx(ByVal Path As String) As Boolean Dim sDir As String Try sDir = Dir(Path, vbDirectory) If sDir.Length > 0 Then Do If Path.Contains("\") Then Path = Path.Substring(0, Path.LastIndexOf("\") + 1) sDir = Path & sDir End If If IO.Directory.Exists(sDir) Then Return True End If sDir = Dir() Loop Until sDir.Length = 0 End If Catch ex As Exception End Try End Function