94451
Goto Top

Alle Dateien rekursiv auflisten

Hallo liebe Kollegen,

ich suche nach einer Möglichkeit in VBS alle Dateien rekursiv aufzulisten...

hier habe ich eine Möglichkeit die für meinen 1. Anwendungsfall "ausreichend" war... das funktioniert aber nur bei 2 Subfoldern und erst im 2. Subfolder die Dateien...

    Set fs = CreateObject("Scripting.FileSystemObject")  
    Set f = fs.GetFolder(fs.GetAbsolutePathName("."))  
    Set fc = f.SubFolders
    For Each f1 in fc
        's = s & f1.name   
		Set fcc = fs.GetFolder(fs.GetAbsolutePathName(f1.name)).SubFolders
		For Each f2 in fcc
			Set fccf = fs.GetFolder(fs.GetAbsolutePathName(f1.name & "\" & f2.name)).Files  
			For Each file in fccf
				s = s & f1.name & "\" & f2.name & "\" & file.name  
				s = s &  vbCrLf
			Next
		Next
    Next
    MsgBox s

sobald die Struktur aber anders verläuft geht nichts mehr :/

gibt es die Möglichkeit das "echt" rekursiv ablaufen zu lassen?

=> Die Fragestellung ist einfach... ich habe eine Ordnerstruktur und in dieser alle Dateien... ich hätte gerne zur Weiterverarbeitung eine Indizierung (also eine Liste mit allen Dateien und wo diese liegen)

Vielen Dank

Content-ID: 296288

Url: https://administrator.de/forum/alle-dateien-rekursiv-auflisten-296288.html

Ausgedruckt am: 22.04.2025 um 16:04 Uhr

emeriks
emeriks 15.02.2016 um 09:17:44 Uhr
Goto Top
Hi,
Du köntest dafür eine Sub rekursiv aufrufen.

call ScanFolder("C:\")  

Sub ScanFolder(BaseFolderPath)

......

    For each File in .......GetFiles
       ..... File.Name
    next

    For Each Folder in .......SubFolders
     ......  Folder.Name

       Call ScanFolder(Folder.Path)
    next
.....
End Sub



E.
114757
114757 15.02.2016 aktualisiert um 09:33:12 Uhr
Goto Top
Moin,
Wie @emeriks schon sagt Funktion rekursiv aufrufen, gabs hier schon ziemlich oft
Mit einer Suche findest du etliche Threads mit praktischen Anwendungsbeispielen solcher rekursiven Funktionen
=

Gruß jodel32