VB 5/6-Tipp 0492: Rekursive Verzeichnissuche mit FileSystemObject
von Rudi Schuster
Beschreibung
Es gibt mehrere rekursive Verzeichnissuchen. Hier eine Varante mit dem FileSystemObject. Ein Verweis auf die Microsoft Scripting Runntime muss gesetzt sein.
Schwierigkeitsgrad: | Verwendete API-Aufrufe: keine | Download: |
'Dieser Quellcode stammt von http://www.activevb.de 'und kann frei verwendet werden. Für eventuelle Schäden 'wird nicht gehaftet. 'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum. 'Ansonsten viel Spaß und Erfolg mit diesem Source! '------------- Anfang Projektdatei Projekt1.vbp ------------- ' Es muss ein Verweis auf 'Microsoft Scripting Runtime' gesetzt werden. '--------- Anfang Formular "Form1" alias Form1.frm --------- ' Steuerelement: Schaltfläche "Command1" ' Steuerelement: Beschriftungsfeld "Label2" ' Steuerelement: Beschriftungsfeld "Label1" ' Verweis : Microsoft Scripting Runntime Option Explicit Dim LogFile As TextStream Dim FolderCount As Long Dim FileCount As Long Private Sub Command1_Click() End End Sub Private Sub Form_Load() Me.Show Dim FS As New FileSystemObject Const Medium = "C:\Programme" Set LogFile = FS.CreateTextFile(App.Path & "\" & "AllFiles.log", True, True) SearchInFolder Medium LogFile.WriteBlankLines 3 LogFile.WriteLine "Folders : " & FolderCount & " ; Files : " & FileCount Set LogFile = Nothing Set FS = Nothing Label1.Caption = "Fertig!" End Sub Private Sub SearchInFolder(ByVal Folderspec As String) Dim FSO As New FileSystemObject Dim SearchFolder As Folder Dim FD As Folder, FI As File Dim EachFil As Files, EachFold As Folders Set SearchFolder = FSO.GetFolder(Folderspec) Set EachFil = SearchFolder.Files Set EachFold = SearchFolder.SubFolders DoEvents For Each FD In EachFold LogFile.WriteLine "Folder: " & FD FolderCount = FolderCount + 1 SearchInFolder CStr(FD) Next FD For Each FI In EachFil Label1.Caption = FI FileCount = FileCount + 1 LogFile.WriteLine "File: " & FI.Path DoEvents Next FI Set EachFil = Nothing Set EachFold = Nothing Set FSO = Nothing End Sub '---------- Ende Formular "Form1" alias Form1.frm ---------- '-------------- Ende Projektdatei Projekt1.vbp --------------
Tipp-Kompatibilität:
Windows/VB-Version | Win32s | Win95 | Win98 | WinME | WinNT4 | Win2000 | WinXP |
VB4 | |||||||
VB5 | |||||||
VB6 |
Ihre Meinung
Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.
Archivierte Nutzerkommentare
Klicken Sie diesen Text an, wenn Sie die 1 archivierten Kommentare ansehen möchten.
Diese stammen noch von der Zeit, als es noch keine direkte Forenunterstützung für Fragen und Kommentare zu einzelnen Artikeln gab.
Aus Gründen der Vollständigkeit können Sie sich die ausgeblendeten Kommentare zu diesem Artikel aber gerne weiterhin ansehen.
Kommentar von Sebastian am 14.06.2003 um 18:44
Super Scrpt ! Aber ist das nicht ein bischen langsam ?
Ich wollte gerade ne ganze CD einlesen, aber das hat minuten gedauert, da hab ich abgebrochen.
Vielleicht gehts schneller, wenn man erst alles nur in ne Variable einliest und erst am Ende alles speichert ?