Powershell - 删除所有非mp3文件

时间:2010-06-21 17:20:37

标签: powershell

我是Powershell的新手,想写一个删除目录中所有非mp3文件的脚本。

我的解决方案:

get-childitem -Recurse | 
Where-Object {!($_.PSIsContainer)} | 
Where {$_.Extension -ne ".mp3"} | 
remove-item

本声明中可以改进的内容或者可以用其他方式编写。 这个陈述有什么问题吗?

谢谢。

1 个答案:

答案 0 :(得分:5)

我只使用一个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以删除文件。