我是Powershell的新手,想写一个删除目录中所有非mp3文件的脚本。
我的解决方案:
get-childitem -Recurse |
Where-Object {!($_.PSIsContainer)} |
Where {$_.Extension -ne ".mp3"} |
remove-item
本声明中可以改进的内容或者可以用其他方式编写。 这个陈述有什么问题吗?
谢谢。
答案 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
以删除文件。