我正在寻找一个单独的Windows命令,我需要删除文件夹中的所有文件,除了一个。
例如:目录下列出的文件:
现在,我要删除除" abcde.zip"
之外的所有文件相应的Linux命令为:rm -rf !(abcde.zip)
在不使用批处理脚本的情况下,在Windows上是否有类似的内容,只需一行命令?
提前致谢!
答案 0 :(得分:0)
由于 Win 的命令解释器没有类似rm -rf
的命令(适用于文件和目录),我们只需修改命令即可我放在我的第一个评论中,实际上将它拆分为2个命令(仍然在一行中:好吧,如果控制台真的非常宽:)),并按顺序执行它们(&
):
/a:-d
参数),然后启动del
/a:d
参数)并启动rmdir
这就是它的样子(注意它完成了当前目录的工作):
(for /f "tokens=*" %f in ('dir /a:-d /b 2^>nul ^| findstr /v /b /e /c:"abcde.zip"') do (del /f "%f")) & (for /f "tokens=*" %f in ('dir /a:d /b ^| findstr /v /b /e /c:"abcde.zip"') do (rmdir /q /s "%f"))