Rubrik: Dateisystem · Ordner & Verzeichnisse | VB-Versionen: VB2005, VB2008 | 18.12.08 |
Prüfen, ob Verzeichnis leer ist Eine überladene Funktion, mit der sich prüfen lässt, ob ein Verzeichnis leer ist, oder Dateien und/oder weitere Unterverzeichnisse enthält. | ||
Autor: Dieter Otter | Bewertung: | Views: 19.357 |
www.tools4vb.de | System: Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Heute stellen wir Ihnen eine (überladene) Funktion vor, mit der sich prüfen lässt, ob ein Verzeichnis leer ist, oder noch Dateien und/oder weitere Unterverzeichnisse enthält.
''' <summary> ''' Prüft, ob ein Verzeichnis leer ist ''' </summary> ''' <param name="sPath">Verzeichnispfad, der geprüft werden soll</param> ''' <returns>Gibt True zurück, wenn das Verzeichnis weder ''' Dateien noch Unterverzeichnisse enthält</returns> ''' <remarks></remarks> Public Function IsFolderEmpty(ByVal sPath As String) As Boolean Return IsFolderEmpty(sPath, False) End Function
''' <summary> ''' Prüft, ob ein Verzeichnis leer ist ''' </summary> ''' <param name="sPath">Verzeichnispfad, der geprüft werden soll</param> ''' <param name="SkipSubFolder">True, wenn nur auf Dateien geprüft werden soll.</param> ''' <returns>Gibt True zurück, wenn im Verzeichnis keine Einzeldateien ''' vorhanden sind</returns> Public Function IsFolderEmpty(ByVal sPath As String, _ ByVal SkipSubFolder As Boolean) As Boolean Try Dim DirInfo As New System.IO.DirectoryInfo(sPath) If SkipSubFolder Then ' nicht auf Unterverzeichnisse prüfen Return (DirInfo.GetFiles.Length = 0) Else ' auf Dateien UND Unterverzeichnisse prüfen Return (DirInfo.GetDirectories.Length = 0 AndAlso _ DirInfo.GetFiles.Length = 0) End If Catch ex As Exception ' Bei Fehler "False" zurückgeben Return False End Try End Function
Aufrufbeispiel:
Dim sFolder As String = "d:\temp" ' Prüfen, ob Verzeichnis leer If IsFolderEmpty(sFolder) Then MsgBox("Das Verzeichnis enthält werder Dateien noch Unterverzeichnisse.") ElseIf IsFolderEmpty(txtFolder.Text, True) Then MsgBox("Das Verzeichnis enthält keine Dateien, ABER es existieren " & _ "darin weitere Unterverzeichnisse!") Else MsgBox("Das Verzeichnis enthält mind. 1 Datei.") End If