Powershell - 如何使用带有多个选择器和通配符的“remove-item”?

Powershell - 如何使用带有多个选择器和通配符的“remove-item”?

我有一个名为“test-folder”的文件夹,其中包含许多不同类型的文件。我想删除所有音乐文件。(mp3、mp4、mpeg...)

我知道我可以像这样删除所有 mp3 文件:

remove-item C:\path\to\test-folder\"*.mp3*"

是否可以添加多个通配符选择器,例如:

remove-item C:\path\to\test-folder\"*.mp3*+*.mpeg*"

所以我可以用一个命令删除所有的音乐文件吗?

答案1

对于单个目录:

remove-item C:\path\to\test-folder\* -include *.mp3, *.mpeg

或者当文件跨越多个目录时有用的方法:

remove-item C:\path\to\test-folder\*.mp3, C:\path\to\other\test-folder\*.mpeg

或者你可以先移动到该目录:

cd C:\path\to\test-folder\
remove-item *.mp3, *.mpeg

用于Get-Help Remove-Item -full了解可用标志和用法的完整详细信息。

答案2

remove-item C:\path\to\test\folder\* -include .mp4,.mp3

上述命令需要稍作修改才能正常工作(感谢@root)

remove-item C:\path\to\test\folder\* -include *.mp4,*.mp3

答案3

相反的情况是,我想从 Music 文件夹中删除所有 ArtWork、db、Zune、桌面文件。我们需要对网络驱动器 NAS1 使用 -Recurse:

\\NAS1\Public> remove-item '.\Shared Music\*' -include desktop.ini,_msl.db,Zune*.jpg,Folder.jpg,AlbumArt*.jpg -Recurse

相关内容