PowerShell - Bestimmte Ordner mit Inhalt älter 30 Tage löschen
Hallo zusammen, ich versuche gerade ein PowerShell Skript zu erstellen, welches mir von einem Laufwerk R bestimmte Ordner, die mit "IMG" beginnen, inklusive deren Inhalt löscht, wenn diese Älter als 30 Tage sind.
Folgendes Skript habe ich mir bislang zusammengestellt (leider bin ich auf dem Gebiet PowerShell noch blutiger Anfänger):
$DatumVor30Tagen = (Get-Date).AddDays(-30)
$Source = "r:\"
start-transcript "$Source $(get-date -format yyMMdd).txt"
get-childitem "$Source " -recurse | where {$_.lastwritetime -lt $DatumVor30Tagen -and -not $_.psiscontainer} |% {remove-item $_.fullname -force -verbose -whatif}
Dieses Skript löscht mir alle Dateien (wenn -whatif nicht da ist) auf Laufwerk R, die älter als 30 Tage sind.
Allerdings sind hiervon auch Dateien betroffen, die in Ordnern liegen, die nicht mit "IMG" beginnen.
Außerdem habe ich nach dem Löschvorgang eine Reihe leerer Ordner, die ebenfalls gelöscht werden sollen.
Kann mir jemand weiterhelfen?
Vielen Dank im Voraus.
Grüße
danrei
Folgendes Skript habe ich mir bislang zusammengestellt (leider bin ich auf dem Gebiet PowerShell noch blutiger Anfänger):
$DatumVor30Tagen = (Get-Date).AddDays(-30)
$Source = "r:\"
start-transcript "$Source $(get-date -format yyMMdd).txt"
get-childitem "$Source " -recurse | where {$_.lastwritetime -lt $DatumVor30Tagen -and -not $_.psiscontainer} |% {remove-item $_.fullname -force -verbose -whatif}
Dieses Skript löscht mir alle Dateien (wenn -whatif nicht da ist) auf Laufwerk R, die älter als 30 Tage sind.
Allerdings sind hiervon auch Dateien betroffen, die in Ordnern liegen, die nicht mit "IMG" beginnen.
Außerdem habe ich nach dem Löschvorgang eine Reihe leerer Ordner, die ebenfalls gelöscht werden sollen.
Kann mir jemand weiterhelfen?
Vielen Dank im Voraus.
Grüße
danrei
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 205622
Url: https://administrator.de/forum/powershell-bestimmte-ordner-mit-inhalt-aelter-30-tage-loeschen-205622.html
Ausgedruckt am: 24.12.2024 um 02:12 Uhr
4 Kommentare
Neuester Kommentar
Hallo danrei,
mit diesem Code werden alle Ordner auf R:\ die mit IMG beginnen und in die zuletzt vor 30 Tagen hineingeschrieben wurde samt Inhalt und Unterordner gelöscht:
Grüße Uwe
mit diesem Code werden alle Ordner auf R:\ die mit IMG beginnen und in die zuletzt vor 30 Tagen hineingeschrieben wurde samt Inhalt und Unterordner gelöscht:
dir "r:\" | ?{$_.lastwritetime -lt ((Get-Date).AddDays(-30)) -and $_.PSIsContainer -and $_.Name -like 'IMG*'} | %{Remove-Item $_.FullName -force -recurse}
Grüße Uwe