在MS-DOS / Windows批处理中的FOR循环中的嵌套DO

时间:2013-07-05 20:10:49

标签: command-prompt dos

我试图使用嵌套的DO语句为FOR循环的每次迭代包含多个动作。实质上,目的是将以下两条线合并为一条。

FOR /F "delims=" %%a IN (ArchiveList.txt) DO IF NOT EXIST "%destfolder%\%%~nxa" ECHO "%%~nxa does not exist"
FOR /F "delims=" %%a IN (ArchiveList.txt) DO IF NOT EXIST "%destfolder%\%%~nxa" set /a i = i + 1

我尝试使用括号,如下所示......

FOR /F "delims=" %%a IN (ArchiveList.txt) DO (IF NOT EXIST "%destfolder%\%%~nxa" DO(ECHO "%%~nxa does not exist" & set /a i = i + 1))

...但是这导致每次迭代出现以下错误:

  

'DO'不会被视为内部或外部命令,可操作   程序或批处理文件。

感谢您提供的任何帮助:)

1 个答案:

答案 0 :(得分:1)

if的语法是If boolean-condition something

作为“某事”,您DO(.....无法识别为可执行命令。

删除DO(和最后的括号。