我想在父目录中删除除MYFOLDER之外的所有文件夹,但我无法完成这个操作。
for %%i in ("C:\Parent") do if not "%%i"=="MYFOLDER" del /f /q "%%i
有人可以检查一下这段代码吗?
(我正在使用*.bat文件)
for %%i in ("C:\Parent") do if not "%%i"=="MYFOLDER" del /f /q "%%i
有人可以检查一下这段代码吗?
(我正在使用*.bat文件)
for /d %%i in ("C:\Parent\*") do if /i not "%%~nxi"=="MYFOLDER" del /s /q "%%i"
%%~nxi
代表什么吗?它对我不起作用,但是 %%i
可以。 - MunchkinDir
所有文件夹并逐个检查是否不是 MYFOLDER,如果不是,则删除它。
在运行真正的作业时,请删除 echo
。
for /d %%i in (C:\Parent\*) do (
if /i "%%i" NEQ ".exe" echo rd /S /Q %%i
)
for /d
而不是使用 for /f
迭代 dir
输出,那么您将避免很多麻烦。 - Joey或者简单地将MYFOLDER复制到一个临时文件夹中,删除所有文件,然后再将MYFOLDER复制回来。除非MYFOLDER非常大且复制需要时间,否则这应该能够很好地工作。