2016-06-29 16 views
0

Wie kann ich Ordner, nicht Dateien, mithilfe von PowerShell löschen? Ich möchte Ordner löschen, die älter als 3 Tage sind.Powershell löschen Ordner

Get-ChildItem "D:\test" | 
    Where-Object { $_.PSIsContainer -and $_.LastWriteTime -le (Get-Date).AddDays(-3) } | 
    ForEach-Object { Remove-Item $_ -Force } 

Dies funktioniert nicht. Ich erhalte keinen Fehler und löscht keine Ordner, die sich in d: \ test befinden.

+2

Hallo, was funktioniert nicht? Es löscht nichts? Es erzeugt eine Fehlermeldung? Bitte bearbeiten Sie Ihre Frage, um weitere Details hinzuzufügen. – sodawillow

Antwort

0

Versuchen:

Get-ChildItem "D:\test" | 
    Where-Object { $_.PSIsContainer -and $_.LastWriteTime -le (Get-Date).AddDays(-3) } | 
    Remove-Item -Force 

oder:

Get-ChildItem "D:\test" | 
    Where-Object { $_.PSIsContainer -and $_.LastWriteTime -le (Get-Date).AddDays(-3) } | 
    ForEach-Object { Remove-Item $_.FullName -Force } 
+0

Die erste funktionierte perfekt, danke! – seanirishi

+0

Gern geschehen. Die Verwendung hier ist, die Antwort zu akzeptieren, die Sie bevorzugen, indem Sie auf das Häkchen neben der Antwortabstimmung klicken. – sodawillow

-2

Angenommen, Ihre Powershell mit 4+ Sie brauchen nicht alle die Phantasie Filterung zu tun, die -datei Schalter werden Sie, was Sie brauchen .

Get-ChildItem -Path D:\test -File | Remove-Item 

Das oben genannte gibt Ihnen, was Sie brauchen.

+0

-Datei wird Dateien löschen, nicht Ordner, wie OP gefragt ...? –

+0

Auch der Schalter '-File' wurde als Teil von 3.0 eingeführt – Matt

Verwandte Themen