Batch file 脚本以删除除

Batch file 脚本以删除除,batch-file,cmd,Batch File,Cmd,我发现了一个脚本,它将删除除某个文件夹之外的所有文件夹 for /d %i in ("C:\test\*") do if /i not "%~nxi"=="test2" rd /q "%i" 如何更改此设置以添加更多我不想删除的文件夹?您好,很抱歉,它没有删除它显示的其他文件夹“每个文件夹检查下的目录都不是空的,很抱歉,您的更改现在删除测试folder@Phairplay-你完全正确。我是个白痴。现在已修复并测试。祝你好运。它仍在删除测试文件夹:(@Phairplay-它删除根目录?这对我来说

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

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

如何更改此设置以添加更多我不想删除的文件夹?

您好,很抱歉,它没有删除它显示的其他文件夹“每个文件夹检查下的目录都不是空的,很抱歉,您的更改现在删除测试folder@Phairplay-你完全正确。我是个白痴。现在已修复并测试。祝你好运。它仍在删除测试文件夹:(@Phairplay-它删除根目录?这对我来说不适用于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