2012-07-15 28 views
2

爲什麼Powershell的刪除項不工作

dir E:\Music -File -Exclude *.mp3 -Recurse | foreach {del $_.FullName} 

不工作?我測試了我所能想到的所有可能性,但仍然無法正常工作。

在此先感謝。

回答

2

我有同樣的問題,我使用了以下解決它:

dir E:\Music -File -Exclude *.mp3 -Recurse | Remove-Item 
+0

這裏最酷的是你不需要'foreach',因爲'Remove-Item'會帶有流式輸入對象。 – 2013-04-02 05:20:20

3

該命令看起來不錯,應該工作。如果將管道移除到foreach對象,你會得到任何輸出嗎?你在使用PowerShell v3嗎?試試看,你會得到WhatIf消息嗎?

dir E:\Music -File -Exclude *.mp3 -Recurse | del -WhatIf 
+0

如果我刪除管道,我會得到輸出。我正在使用PowerShell v3。我第一次嘗試你的腳本和whatif消息生成。我刪除了whatif並檢查,但沒有文件被刪除。我再次編寫腳本時運行了腳本,這次不再生成任何whatif消息。我完全不會得到這種行爲。謝謝。 – irisjay 2012-07-15 10:32:58

+0

很難說這個原因,你的命令和我第一次爲我工作。 – 2012-07-15 11:02:07

+0

這裏發生了什麼... – irisjay 2012-07-15 11:04:38

1

參見實施例4從下面的命令

get-help remove-item -Examples 

「因爲在此cmdlet Recurse參數是錯誤的...「

將是我的猜測。