-
Notifications
You must be signed in to change notification settings - Fork 0
/
psEmptyFolderCleanup.ps1
35 lines (28 loc) · 1.15 KB
/
psEmptyFolderCleanup.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# Pfad des Verzeichnisses
$path = "C:\Users\..."
# Hole alle leeren Ordner
$emptyFolders = Get-ChildItem -Path $path -Recurse -Directory | Where-Object {($_.GetFileSystemInfos()).Count -eq 0}
# Begrenze die Anzahl der Ordner auf 500
$foldersToProcess = $emptyFolders | Select-Object -First 500
# Zeige gefundene Ordner an
if ($foldersToProcess.Count -eq 0) {
Write-Host "Keine leeren Ordner gefunden."
} else {
Write-Host "Gefundene leere Ordner (maximal 500):"
$foldersToProcess | ForEach-Object { Write-Host $_.FullName }
# Frage nach Bestätigung zum Löschen
$confirmation = Read-Host "Möchtest du diese Ordner löschen? (ja/j/y/yes)"
# Akzeptiere verschiedene Bestätigungen (ja, j, y, yes)
if ($confirmation -in @("ja", "j", "y", "yes")) {
# Zähler für gelöschte Ordner
$deletedCount = 0
$foldersToProcess | ForEach-Object {
Remove-Item $_.FullName -Force
Write-Host "Gelöscht:" $_.FullName
$deletedCount++
}
Write-Host "$deletedCount Ordner wurden erfolgreich gelöscht."
} else {
Write-Host "Löschvorgang abgebrochen."
}
}