[vb.net] alle Dateien eines Ordners durchlaufen.

Gepostet am: Mar 28, 2011 7:50:39 AM

Für sehr viele kleine Programme benötige ich immer wieder den Code für das Durchlaufen aller Dateien eines Ordner (inklusive Unterordner). Dafür verwende ich meist folgenden Code:

alle Dateien durchlaufen

Public Sub alleDateien(ByVal strPath As String, Optional ByVal sKrit As String = "*.*", Optional ByVal bRecursive As Boolean = True)         ' "\" am Ende entfernen         If strPath.EndsWith("\") And strPath.Length > 3 Then             strPath = strPath.Substring(0, strPath.Length - 1)         End If         ' Abbrechen, wenn das Verzeichnis nicht existiert         If System.IO.Directory.Exists(strPath) = False Then             Exit Sub         End If         'Directory Object erstellen         Dim oDir As New System.IO.DirectoryInfo(strPath)          ' --- alle Dateien eines Ordners durchlaufen          ' alle Dateien eines Ordner          Dim oFiles As System.IO.FileInfo() = oDir.GetFiles(sKrit)         ' Objekt für eine einzelne Datei          Dim oFile As System.IO.FileInfo         For Each oFile In oFiles             Debug.Print(oFile.FullName)         Next          ' --- gegebenfalls Unterordner durchlaufen         If bRecursive = True Then             ' alle Unterordner eines Verzeichnisses             Dim oSubDirs As System.IO.DirectoryInfo() = oDir.GetDirectories()             Dim oSubDir As System.IO.DirectoryInfo             For Each oSubdir In oSubDirs                 ' rekursiver Aufruf der Funktion                  Call alleDateien(oSubdir.FullName, sKrit, bRecursive)             Next         End IfEnd Sub