[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