sascha46
Goto Top

Powershell Ordner löschen die älter als x Tage sind

Hallo

Ich würde gerne in einem Verzeichnis alle Ordner die älter als X Tage sind löschen.
Aber irgendwie bekomme ich das nicht hin.

Bisher habe ich nur das zustande gebracht, aber ich weiss nun nicht weiter, bzw. funktioniert es nicht.
$TargetFolder = "C:\temp"  
$time = (get-date).AddDays(-10)
gci $TargetFolder -Directory
#gci $TargetFolder -Directory | Where-Object {$_.LastAccessTime -lt $time} 

Kann mir da jemand helfen?

Danke

Gruss Sascha

Content-ID: 1084153555

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

Ausgedruckt am: 19.11.2024 um 13:11 Uhr

em-pie
em-pie 24.07.2021 um 16:01:43 Uhr
Goto Top
Moin,

bekommst du denn in Zeile 4 EInträge angezeigt (sofern die # weg ist)?
Mit GCI (=Get-ChildItem) passiert ja erst einmal noch nichts.

Wenn das klappt, kannst du ein | Remove-Item() hinten dran hängen...

Gruß
em-pie
sascha46
sascha46 24.07.2021 um 16:06:22 Uhr
Goto Top
Nee in Zeile 4 bekomme ich nichts mehr angezeigt. Zeile 3 geht noch, aber Zeile 4 nicht mehr.
Im Prinzip sollte in Zeile 4 nur die Ordner angezeigt, werden dessen Erstellungsdatum älter als 10 tage ist.
149062
Lösung 149062 24.07.2021 aktualisiert um 16:20:24 Uhr
Goto Top
Zitat von @sascha46
Im Prinzip sollte in Zeile 4 nur die Ordner angezeigt, werden dessen Erstellungsdatum älter als 10 tage ist.

Warum nimmst du dann "LastAccessTime" statt korrekterweise "CreationTime" für das Erstelldatum??
dir "C:\temp" -Directory | ?{$_.CreationTime -lt (get-date).AddDays(-10)} | del -recurse -force  
Kaffee rüber schieb ...
em-pie
em-pie 24.07.2021 um 16:17:20 Uhr
Goto Top
Dann schmeiß die Raute da raus und verwende statt LastAccessTime das Objekt/ Attribut LastWriteTime

Mit LastAccessTime listet er mir auch einen frisch angelegten Ordner an
sascha46
sascha46 24.07.2021 um 20:04:10 Uhr
Goto Top
Hallo

@149062
Klappt super, vielen Dank.

LastAccessTime ist doch wann zuletzt auf den Ordner zugegriffen wurde oder?
Das brauch ich dann noch wo anders face-smile

Danke
149062
149062 25.07.2021 aktualisiert um 17:12:49 Uhr
Goto Top
Zitat von @sascha46:
LastAccessTime ist doch wann zuletzt auf den Ordner zugegriffen wurde oder?

In die Doku schauen hilft face-wink
LastWriteTime == ÄnderungsdatumCreationTime == ErstelldatumLastAccessTime == Letzter Zugriff
psannz
psannz 25.07.2021 aktualisiert um 17:08:54 Uhr
Goto Top
Sers,

nur zur Sicherheit: "#" kommentiert alles folgende aus. Da wird nichts mehr ausgeführt.

Grüße,
Philip