Edit: Falscher Proceduren-Aufruf herausgenommen!
Code: Alles auswählen
Procedure DeleteEmptyFolders(Folder.s)
Protected ID
Protected Not_Empty
ID = ExamineDirectory(#PB_Any, Folder, "*")
While NextDirectoryEntry(ID)
Select DirectoryEntryType(ID)
Case #PB_DirectoryEntry_Directory
If DirectoryEntryName(ID) <> "." And DirectoryEntryName(ID) <> ".."
If Right(Folder,1)="\" Or Right(Folder,1)="/"
Not_Empty + DeleteEmptyFolders(Folder + DirectoryEntryName(ID))
Else
Not_Empty + DeleteEmptyFolders(Folder + "/" + DirectoryEntryName(ID))
EndIf
EndIf
Case #PB_DirectoryEntry_File
Not_Empty = 1
EndSelect
Wend
FinishDirectory(ID)
If Not_Empty = 0
DeleteDirectory(Folder, "*")
EndIf
ProcedureReturn Not_Empty
EndProcedure
DeleteEmptyFolders("/Blöder/böser/Pfad")
Beide Codes laufen hervorragend und das in einer angenehmen Geschwindigkeit. Hab das ganze mal in einem kleinen Verzeichnis getestet.
Werde jetzt nochmal mit meinem Chef sprechen und dann die EXE starten. Melde mich dann zurück - entweder mit oder ohne Job
