Hallo Zusammen
ich bin Windowspowershell user anfänger und habe folgendes Problem:
Gerne würde files löschen welche älter sind als X Tage aber in speziellen foldern liegen.
Meine Folderstruktur sieht wie folgt aus:
Ordner
c:\tmp
inhalt tmp
PS C:\tmp> get-childitem
Verzeichnis: C:\tmp
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 24.11.2014 09:26 test
-a--- 24.11.2014 07:34 171 delete_files_older_then_x_days.ps1
-a--- 24.11.2014 08:25 164 Find_Folder.ps1
-a--- 24.11.2014 08:59 871 Powershell_README.txt
im Ordner test hat es wiederum 3 Folder
PS C:\tmp> cd test
PS C:\tmp\test> ls
Verzeichnis: C:\tmp\test
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 24.11.2014 09:08 456
d---- 24.11.2014 09:26 456 - Kopie (2)
d---- 24.11.2014 09:26 geko
Mein Problem:
Gerne würde ich alle Dateien löschen welche älter als 30 Tage sind und im Ordner geko liegen.
Wichtig hierbei der Ordner geko könnte aber auch auch noch zusätzlich in anderen Subfoldern liegen. Also finde alle Dateien welche in einem Ordner liegen der geko heisst und älter als 30 Tag sind!
Das habe ich versucht.
get-childitem "c:\tmp" -recurse | where { $_.lastwritetime -lt (Get-Date).AddDays(-5) -and -not $_.psiscontainer -and $_.name -like "geko" } | remove-item -verbose -recurse -whatif
leider funktioniert das nicht was mache ich falsch?
Besten Dank für Euer Feedback