2016-06-29 155 views
0

如何使用PowerShell刪除文件夾而不是文件?我想刪除超過3天的文件夾。Powershell刪除文件夾

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

這是行不通的。我沒有收到任何錯誤,也沒有刪除d:\ test內的任何文件夾。

+2

嗨,有什麼不工作?它不會刪除任何東西?它會產生一個錯誤信息?請編輯您的問題以包含更多詳細信息。 – sodawillow

回答

0

嘗試:

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

或:

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

第一個工作完美,謝謝! – seanirishi

+0

不客氣。此處的用法是通過單擊答案投票旁邊的複選標記來接受您喜歡的答案。 – sodawillow

-2

使用PowerShell 4+你不需要做所有花哨過濾你的假設,該-file開關會給你你需要什麼。

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

以上將給你你需要的東西。

+0

-File會刪除文件,而不是文件夾,就像OP問的...? –

+0

另外,'-File'開關是作爲3.0的一部分引入的 – Matt