为了测试我希望使用的概念,我创建了这个非常简单的批处理文件。我需要递归删除所有一种类型的文件,但具有特定名称的文件夹除外。这是我的代码:
:recur
FOR /f %%a IN ('DIR /b') DO (
IF EXIST %%a\NUL (
IF ["%%a" NEQ "subtest2"] (
ECHO %%a
CD %%a
CALL :recur
CD ..
)
)
COPY "*.cfm" "*_copy.cfm"
REM DEL "*_copy*.cfm"
)
现在我只是在使用复制而不是删除进行测试。基本上,这应该创建所有 .cfm 文件的副本,但文件夹“subtest2”除外。现在它正在递归地在任何地方制作副本,包括 subtest2。我该如何阻止这个?
我的基本目录的结构是:
TestFolder
---subtest1
------test.pdf
------test.txt
------test.cfm
---subtest2
------test.pdf
----- -test.txt
------test.cfm
---test.pdf
---test.txt
---test.cfm
---recur.bat