删除文件的命令所有文件都不像通配符

Command to delete files all files NOT like a wildcard

我发现这个 link How can I delete files that don't match a wildcard? 与我想做的非常相似,但我所有的文件都具有相同的扩展名,我想删除所有不相同的文件将文件名与通配符匹配。例如。我想保留所有 "DOC*.PDF" 的文件,但删除所有其他文件,例如 Smith.PDF。我尝试修改上面 link 中给出的答案,但没有成功。

使用 PowerShell。

get-childitem *.pdf -exclude doc*.pdf | remove-item -whatif

自然地,-whatif 参数用于测试目的。删除它以实际删除文件。

从命令行:

for /f "eol=: delims=" %F in ('dir /b /a-d *.pdf ^| findstr /biv doc') do @del "%F"

DIR 命令列出所有 .pdf 文件。结果通过管道传输到 FINDSTR,它会丢弃以 DOC(不区分大小写)开头的文件。结果用FOR /F处理,每个文件单独删除

如果在批处理脚本中使用,则将百分比加倍。