Leere Ordner Löschen

Hallo.
Ich hatte in meinem Programm folgenden Code um leere Ordner zu löschen.
Da ich aber nun alles andere schon von FSO auf API umgschrieben habe bräuchte ich hilfe folgenden code in API zu realisieren,

danke mfg joe

Sub DeleteEmptyFolder(ScanPfad)
Set MyFSO = CreateObject(„Scripting.FileSystemObject“)

Set PathObject = MyFSO.GetFolder(ScanPfad)
Set SubFolders = PathObject.SubFolders
For Each SubFoldersNow In SubFolders
Set FileObject = SubFoldersNow.Files
Set SubSubFolders = SubFoldersNow.SubFolders
fc = FileObject.Count
pc = SubSubFolders.Count

On Error GoTo errordel
If fc = 0 And pc = 0 Then
SubFoldersNow.Delete
Else
DeleteEmptyFolder (SubFoldersNow.ParentFolder + „“ + SubFoldersNow.Name)
End If
Next

Set SubFolders = PathObject.SubFolders
For Each SubFoldersNow In SubFolders
Set FileObject = SubFoldersNow.Files
Set SubSubFolders = SubFoldersNow.SubFolders
fc = FileObject.Count
pc = SubSubFolders.Count
If fc = 0 And pc = 0 Then
SubFoldersNow.Delete

End If

Next
End Sub

Hi Joe,

Du rufst die Funktion GetAllFiles doch mit …

Max = GetAllFiles(LCase(Text1.Text), Such, Files, \_
 (Check1.Value = Checked))

… auf. Max ist die Anzahl der gefundenen Einträge. Wenn Max=0 ist, ist das Verzeichnis leer und Du kannst es einfach mit RMDir(Pfad) löschen.

Gruß, Rainer

hi, Gibt es noch eine andere möglichkeit ?
das muss ja auch wieder rekursiv passieren da MAX ja den pfad komplett durchsucht. also würde in der text1.text C:\windows stehen würde mir max 2000 ausgeben obwohl c:\windows\temp leer ist

ich probiere mal rum

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi Joe,

hi, Gibt es noch eine andere möglichkeit ?

Ich fürchte nein.

das muss ja auch wieder rekursiv passieren da MAX ja den pfad
komplett durchsucht.

Hmmm, habe ich mich versehen?

also würde in der text1.text C:\windows
stehen würde mir max 2000 ausgeben obwohl c:\windows\temp leer
ist

Dann mußt Du wohl weiter 'rein, Du mußt für den Ordner ermitteln, ob er leer ist. Daß das nicht leicht wird, weiß ich. Es gäbe einen ‚Trick‘, nämlich die Steuerlemente ‚Filelist‘ und ‚Dir‘, aber die arbeiten mit ‚Dir$‘ und sind so langsam wie FSO, dann ist der Geschwindigkeitsgewinn wieder hinüber. Das wird Arbeit machen …

Gruß, Rainer