Hallo Zusammen,
ich habe folgendes Problem:
Ich möchte in vb.net einen ordner, mit allen Unterordnern, und dessen unterordner... nach Dateien suchen.
Ich habe einen Textbox, wo ich einen Text eingebe, sozusagen als Filter, und mir alles in einer Listbox dann anzeigen soll, was er mit dieser Angabe gefunden hat.
Diesen Code habe ich von MSN/Internet.
Hier listet das Programm, den Ordner mit dessen Unterordner, die Dateien auf.
ABer in den Unterordner sind auch noch Unterordner, hier greift er gar nicht darauf.
Wie könnte man diesen Code so anpassen, der auch auf alle Unterordner zugreift?
' Ermittelt alle Dateien eines Ordners inkl.
' aller Unterordner
Function F_GetAllFiles(ByVal sPath As String) As String()
Dim arr_Folders() As String
Dim arr_Files() As String
Dim arr_Temp() As String
Dim n As Integer
Dim nSize As Integer
' Ordner in Array speichern
arr_Folders = System.IO.Directory.GetDirectories(sPath)
' Schleife zum Durchlaufen der Ordnerarrays
For n = 0 To arr_Folders.Length - 1
' Dateien ermitteln und temporär zwischenspeichern
arr_Temp = System.IO.Directory.GetFiles(arr_Folders(n))
' temporäres Array dem Array arr_Files() hinzufügen
If arr_Files Is Nothing Then
arr_Files = arr_Temp
Else
' "alte" Größe des Arrays merken
nSize = arr_Files.Length
' Array erweitern...
ReDim Preserve arr_Files(nSize + arr_Temp.Length - 1)
arr_Temp.CopyTo(arr_Files, nSize)
End If
' Prüfen, ob es weitere Unterordner gibt.
' ACHTUNG! rekursiver Funktionsaufruf!!!
F_GetAllFiles(arr_Folders(n))
Next n
' Funktionsrückgabewert:
' String-Array mit allen Dateiennamen
Return arr_Files
End Function
Private Sub cmdSearch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSearch.Click
' Alle Dateien ermitteln und in einer
' Standard ListBox anzeigen
Dim myFiles() As String
Dim n As Integer
myFiles = F_GetAllFiles("\\mndenbgksv03\mwf-expimp_cv5\")
For n = 0 To myFiles.Length - 1
lstliste.Items.Add(myFiles(n))
Next n
End Sub
Bedanke mich für jede Unterstützung.
Schöne Grüße
Feyza : )
------------------

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP