pixel0815
Goto Top

Powershell - Wenn ein Ordner leer ist, diesen auch löschen hinzufügen?

Hallo zusammen,

das Skript läuft gut und ich dachte kurz darüber Nach ob es möglich ist ohne großen Aufwand leere Ordner auch gleich zu entfernen?

$Now = Get-Date
$Days = "7" #----- definiere tage ----#  
$Targetfolder = "C:\Bildertest\" #----- definiere folder ----#  
$Extension = "*.*" #----- definiere dateitypen ----#  
$Lastwrite = $Now.AddDays(-$Days)

#----- dateien basierend dem lastwrite filter finden und dann löschen---#
$Files = Get-Childitem $Targetfolder -include $Extension -Recurse | where {$_.LastwriteTime -le "$Lastwrite"}  

foreach ($File in $Files)
{
if ($File -ne $Null)
{
write-host "Lösche Datei $File" backgroundcolor "DarkRed"  
Remove-item $File.Fullname | out-null
}
else
{
write-host "Nix zu holen" -forgroundcolor "Green"  
}
}

Gruß
Heiko

Content-ID: 273021

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

Ausgedruckt am: 24.11.2024 um 10:11 Uhr

colinardo
Lösung colinardo 27.05.2015 aktualisiert um 14:21:29 Uhr
Goto Top
Hallo Heiko,
da habe ich dir eine kleine Funktion die das Rekursiv für eine Ordnerstruktur erledigt:
function Remove-EmptyFolders([string]$folder){
    gci $folder -Recurse | ?{$_.PSIsContainer -and !(gci $_.Fullname -Recurse | ?{!$_.PSIsContainer})} | remove-item -Force -Recurse -EA SilentlyContinue
}
Aufrufen kannst du sie so:
Remove-EmptyFolders "C:\Ordner"
Sie durchläuft rekursiv alle Unterordner und entfernt dabei leere Ordner.

Grüße Uwe
pixel0815
pixel0815 27.05.2015 um 14:21:50 Uhr
Goto Top
Hallo Uwe,

Genau sowas hab ich gesucht :o)
Tausend dank!

Gruß
Heiko