我有这部分代码运行起来很奇怪:
if !NoOfLines!==!trailer! (
echo Count of records in DFUView interface verified ok. >> %LOG_DIR%\%SCRIPT_NAME%.log
) else (
echo Count of records in DFUView interface do not match trailer . !NoOfLines! !trailer! Hence aborting. >> %LOG_DIR%\%SCRIPT_NAME%.log
goto Error
)
即使变量NoOfLines
和trailer
具有相同的值(我通过使用 打印进行了确认)echo
,If
命令也会跳转到Else
两个变量不相等的情况的部分。
答案1
在 Windows 批处理脚本中,当您不使用延迟扩展*时,变量必须用%
not括起来!
。这行代码按预期工作:
if %NoOfLines%==%trailer% (
IF
通过在命令提示符中键入,可以获取有关该语句语法的更多信息IF /?
。
*Setlocal /?
在命令提示符下输入有关延迟变量扩展的更多信息