如果ERRORLEVEL 0检查似乎无法正常工作

时间:2015-04-29 18:47:29

标签: windows batch-file

我的Windows机器桌面上有一个使用

的最小批处理脚本

FC .exe工具,用于比较桌面上的两个文本文件。

我要比较的文件

file1.txt 包含一个字符 a

file2.txt 包含一个字符 b

我的批处理文件

SET "result=success"

fc.exe "%USERPROFILE%\Desktop\file1.txt" "%USERPROFILE%\Desktop\file2.txt"
IF NOT ERRORLEVEL 0 SET "result=failed"

echo %result%

pause

我希望var 结果 失败 (因为file1与file2不同)

然而输出显示成功

我已尝试将 file2.txt 中的唯一字符 b 更改为 a

再次运行批处理文件,但输出显示结果 var仍然是

成功

此外,我可以追加以下内容

...
echo %ERRORLEVEL% 
...

直接在 fc.exe cmd下,第一次测试打印1,

打印0

第二,这个结果应该导致 IF 循环触发,但事实并非如此。

这是什么原因?

0 个答案:

没有答案