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-Key: 1084153555

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

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

Member: em-pie
em-pie Jul 24, 2021 at 14:01:43 (UTC)
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
Member: sascha46
sascha46 Jul 24, 2021 at 14:06:22 (UTC)
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.
Mitglied: 149062
Solution 149062 Jul 24, 2021 updated at 14:20:24 (UTC)
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 ...
Member: em-pie
em-pie Jul 24, 2021 at 14:17:20 (UTC)
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
Member: sascha46
sascha46 Jul 24, 2021 at 18:04:10 (UTC)
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
Mitglied: 149062
149062 Jul 25, 2021 updated at 15:12:49 (UTC)
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
Member: psannz
psannz Jul 25, 2021 updated at 15:08:54 (UTC)
Goto Top
Sers,

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

Grüße,
Philip