shannra666
Goto Top

Dateien Löschen älter 30 Tage mit Powershell

Ich möchte aus unserem Backup alle Dateien löschen, welche älter als 30 Tage sind. Am einfachsten lässt es sich wohl mit der Powershell realisieren.

Im groben funktioniert mein Script auch, bis zum spannenden Teil, dem Löschen.

Könnt ihr mir vieleicht sagen, an welcher Stelel es hier hakt ?

$DatumVor30Tagen = (Get-Date).AddDays(-30)
$Source = "\\HEUITDC002\Si_Web$\*"

$Files = Get-ChildItem $Source -Exclude *.db,*.tar -recurse | Where-Object {$_.LastWriteTime -lt $DatumVor30Tagen} | Sort-Object LastWriteTime -descending | Out-File c:\deleted_files.txt

$Files | ForEach {Remove-Item -recursive}

Content-Key: 187681

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

Printed on: April 24, 2024 at 15:04 o'clock

Member: Karo
Karo Jul 09, 2012 at 12:15:34 (UTC)
Goto Top
Hoi,

i gucke ma doh
http://ss64.com/nt/syntax-delolder.html

Ciao

Karo
Member: shannra666
shannra666 Jul 09, 2012 at 12:30:48 (UTC)
Goto Top
Hallo,

danke für deine Antwort. Leider hilft es mir nicht weiter. Denn ich sehe trotzdem den Fehler bei mir nicht.

Auch wenn ich Remove-Item direkt anhänge wird keine Datei gelöscht.

Die Dateien bekommt er, denn diese stehen richtig in der erstellten Textdatei.

Habt ihr noch andere Vorschläge ?
Member: Karo
Karo Jul 09, 2012 at 14:03:59 (UTC)
Goto Top
Hi,

vielleicht solltest Du mal das '\*' bei der Var $Source rauslassen.
Folgendes Script habe ich mal aus meinem Sammelsorium rausgesucht. Das geht:

$DatumVor30Tagen = (Get-Date).AddDays(-30)
$Source = "D:\_TEST_"   
start-transcript "$Source $(get-date -format MMddyyHHmmss).txt"  
get-childitem "$Source " -recurse | where {$_.lastwritetime -lt $DatumVor30Tagen -and -not $_.psiscontainer} |% {remove-item $_.fullname -force -verbose}  

Zeile Drei: nur so zum Loggen, kannst Du weglassen
Wenn Du in Zeile 4 -whatif hinter -verbose hängst, dann läuft er 'trocken' durch ohne zu löschen. Gut für Tests, aber das weißt Du wahrscheinlich.


bye
Karo
Member: shannra666
shannra666 Jul 09, 2012 at 14:43:00 (UTC)
Goto Top
Hallo,

danke schonmal werde ich gleich testen.
Member: shannra666
shannra666 Jul 09, 2012 at 15:14:50 (UTC)
Goto Top
Hallo nochmal,

danke hat alles funktioniert. Das Problem ist, dass ich die Daten bereits verarbeitet hatte mit Output-File.

Er hatte einfach nichts mehr zu löschen und $_.fullname hat mir noch gefehlt.
Naja dann muss ich halt vorab einmal die Datenaufbereiten zur Übergabe an die Textdatei und danach dann mit einer eigenen Anweisung löschen.

Vielen Dank für deine Hilfe.
Member: joehuaba
joehuaba Jun 16, 2017 at 05:47:04 (UTC)
Goto Top