Wie liste ich in VB.NET 2003 alle Dateien eines Ordners inklusive Unterordner auf?

Antwort vom

In VB.NET 2003 geht das rekursiv über `System.IO.Directory.GetFiles` und `GetDirectories`. ```vb Imports System.IO Module Modul1 Sub Main() Dim startOrdner As String = "C:\MeinOrdner" Dim dateiliste As New ArrayList() AlleDateienSammeln(startOrdner, dateiliste) Dim datei As String For Each datei In dateiliste Console.WriteLine(datei) Next End Sub Sub AlleDateienSammeln(ByVal ordner As String, ByVal liste As ArrayList) Dim dateien() As String Dim unterordner() As String Dim datei As String Dim unterordnerPfad As String Try dateien = Directory.GetFiles(ordner) For Each datei In dateien liste.Add(datei) Next unterordner = Directory.GetDirectories(ordner) For Each unterordnerPfad In unterordner AlleDateienSammeln(unterordnerPfad, liste) Next Catch ex As Exception Console.WriteLine("Fehler in Ordner: " & ordner & " - " & ex.Message) End Try End Sub End Module ``` Kurz erklärt: - `Directory.GetFiles(ordner)` holt alle Dateien im aktuellen Ordner. - `Directory.GetDirectories(ordner)` holt alle Unterordner. - Die Prozedur ruft sich für jeden Unterordner selbst wieder auf. Nur Dateinamen eines bestimmten Typs, z. B. `*.txt`: ```vb dateien = Directory.GetFiles(ordner, "*.txt") ``` Für VB.NET 2003 ist `ArrayList` passend; generische `List(Of String)` gab es dort noch nicht.

Verwandte Fragen

Wie lässt sich die Neuzeichenzeit eines in VB.NET 2003 gezeichneten Panels mit 6x7 Bildern à 80x60 px verringern?

Um die Neuzeichenzeit in VB.NET 2003 / WinForms für ein Panel mit 42 Bildern à 80×60 px zu verringern, helfen vor allem diese Punkte: 1. Double Buffering verwenden Flackern und un...

Wie beeinflusse ich in VB.NET 2003 die Z-Order mehrerer Bilder aus einem zweidimensionalen Array?

In VB.NET 2003 steuerst du die Z-Order nicht über das Array, sondern über die Controls auf dem Container (z. B. Form, Panel, PictureBox). Für Bilder gilt: BringToFront() → nach vo...

Wie zeichnet man in VB.NET 2003 eine gepunktete Linie?

In VB.NET 2003 zeichnest du eine gepunktete Linie über Graphics.DrawLine und den Pen.DashStyle. Beispiel: vb Imports System.Drawing.Drawing2D Dim g As Graphics = Me.CreateGraphics() Dim p As N...

Was ist ein PC-Dateimanager?

Ein PC-Dateimanager ist ein Programm zum Anzeigen, Kopieren, Verschieben, Umbenennen und Löschen von Dateien und Ordnern. Bekannte Beispiele: Windows-Datei-Explorer: Total Commander: FreeComma...