2016-07-30 104 views
1

我发现了一个脚本,将删除除所有文件夹中的某一个脚本删除所有文件夹,除了

for /d %i in ("C:\test\*") do if /i not "%~nxi"=="test2" rd /q "%i" 

如何改变这种补充一点,我不想删除更多文件夹?

+0

这对我而言并不适用于1个文件夹。 –

回答

1
@echo off 
set "list=test1 test2 test3" 
setlocal enableDelayedExpansion 
set "delete=0" 
pushd "C:\test\" 
for /d %%i in (*) do (
    set "delete=1" 
    for %%# in (%list%) do (
    if /i "%%i" equ "%%#" (
     set "delete=0" 
     echo %%i will be not deleted 
    ) 
) 
    if !delete!==1 (
    rd /s /q "%%i" 
) 

) 
popd 
+0

非常感谢 – Phairplay

+0

嗨对不起,它并没有删除其他文件夹它说:“该目录不是空的每个文件夹下检查 – Phairplay

+0

@Phairplay你需要'/ s'开关。编辑代码。 – npocmaka

相关问题