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-Key: 296288

Url: https://administrator.de/contentid/296288

Printed on: April 26, 2024 at 10:04 o'clock

Member: emeriks
emeriks Feb 15, 2016 at 08:17:44 (UTC)
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.
Mitglied: 114757
114757 Feb 15, 2016 updated at 08:33:12 (UTC)
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