我有一个批处理文件,它从文本文件中解析出一堆文件名,并将它们连接成一个单一的强文件 - 之前在这里讨论过。但是,如果文件在我通过某些命令(例如 VCS 检查)运行时抛出错误,我不希望字符串包含文件。这是我的尝试:
set FILE_LIST=
for /f %%x in (temp.txt) do (
:: perform a VCS test
accurev diff -b %%x
:: skip concatenation if error level is > 2
IF errorlevel 2 GOTO NEXT
:: perform the concatenation
set FILE_LIST=!FILE_LIST! %%x
:NEXT
:: print a message if here due to an error above
IF errorlevel 2 echo VCS problem with this file: %%x
)
问题是 - 一旦发现一个大于 2 的错误级别,脚本似乎会立即停止执行整个 for 循环。如果列表中有五个文件,而第三个文件有 VCS 问题 - 脚本只处理前两个.