为什么这样:
for /f "tokens=5 delims=<>" %%G in ('findstr /C:"<a href=\"register\">" "index.html"') do echo %%G
在此
时给出错误级别1findstr /C:"<a href=\"register\">" "index.html"
给出错误级别0?
第一个代码为我提供了我正在寻找的字符串。第二个给出了字符串所在的文本行。我需要第一个代码给我一个错误级别0,因为据我所知它没有返回任何错误。我做错了什么?
答案 0 :(得分:1)
for
命令可以不将ERRORLEVEL设置为1;它只保留了之前的价值。我建议你通过这一行在for
之前将ERRORLEVEL设置为0:
ver > nul
您可以查看What are the ERRORLEVEL values set by internal cmd.exe commands?所有内部命令设置的ERRORLEVEL值的完整说明
另外,你没有说我们你是如何测试ERRORLEVEL的。如果您使用的是if %ERRORLEVEL% ...
并且此命令位于代码块内,则它也可能是与延迟扩展相关的问题。