比如说我有一个文件夹abc
,其中包含子文件夹1
,2
,3
,4
。现在我想删除文件夹2
及其内容以外的所有文件夹。我试过了
PUSHD (c:\abc\2)
rd /s /q "C:\abc" 2>nul
但它也会删除2
文件夹中的文件。我不想删除文件夹2
的任何文件?
答案 0 :(得分:3)
以下代码应该有效:
for /D %%D in ("C:\abc\*.*") do (
if /I not "%%~nxD"=="2" (
2> nul rd /S /Q "%%~fD"
)
)
for /D
循环遍历目录1
,2
,3
,4
。
if
语句检查当前迭代目录的名称是否为2
。