Leere Ordner rekursiv löschen
Problem
Es sollen Ordner mit diversen Unterordnern gelöscht werden. Es dürfen jedoch keine Daten gelöscht werden, d.h. Ordner mit Inhalt müssen erhalten bleiben.
Lösung
Dazu erstellen wir eine Funktion in Powershell:
Get-Childitem $folders -Recurse | Where-Object {$_.PSIsContainer -and !(Get-Childitem $_.Fullname -Recurse |
Where-Object {!$_.PSIsContainer})} | Remove-Item -Force -Recurse -ErrorAction SilentlyContinue
Die Funktion können wir jetzt aufrufen und mit Angabe des Pfades die leere Ordnerstruktur löschen. Ordner mit Inhalt bleiben erhalten:
Remove-EmptyFolders "Pfad"
Also z.B.
Remove-EmptyFolders "C:\Users\Public\Documents"