我對Powershell完全陌生,想編寫一個腳本刪除目錄中的所有非mp3文件。Powershell - 刪除所有非mp3文件
我的解決辦法:
get-childitem -Recurse |
Where-Object {!($_.PSIsContainer)} |
Where {$_.Extension -ne ".mp3"} |
remove-item
什麼可以在這個聲明得到改善,或者可以以另一種方式來寫。 這個陳述有什麼問題嗎?
謝謝。
我對Powershell完全陌生,想編寫一個腳本刪除目錄中的所有非mp3文件。Powershell - 刪除所有非mp3文件
我的解決辦法:
get-childitem -Recurse |
Where-Object {!($_.PSIsContainer)} |
Where {$_.Extension -ne ".mp3"} |
remove-item
什麼可以在這個聲明得到改善,或者可以以另一種方式來寫。 這個陳述有什麼問題嗎?
謝謝。
我將只使用一個Where-Object
命令:
Get-childitem -Recurse |
Where-Object {!$_.PSIsContainer -AND $_.Extension -ne '.mp3'} |
Remove-Item -whatIf
如果你確信沒有目錄有 'MP3' 擴展名:
Get-childitem -Recurse | Where-Object {$_.Extension -ne '.mp3'} |
Remove-Item -whatIf
刪除-whatIf
刪除的文件。
什麼 - whatIf? – kamahl 2010-06-24 13:04:31
描述如果執行該命令而不實際執行該命令會發生什麼情況。 – 2010-06-24 20:19:03
我會與xcud的答案一起去,但請記住,您可以將測試組合成一個Where-Object命令,例如'在哪裏{!$ _。PSIsContainer-和($ _。Extension -ne'.mp3')}' – 2010-06-21 19:39:12