嗨,这是我来自名为 extract 的模块的代码日志文件是我从同一脚本中的另一个函数生成的文件,调用 extract 函数..
: extract
find /c "extract return code: 0" c:\hp\logs\!logfile!
SETLOCAL EnableDelayedExpansion
echo errorleve with percent %errorlevel%
echo errorleve with dxcalim !errorlevel!
if !errorlevel! NEQ 0 (
echo do something
) else (
echo do nothing
)
)
好的,可以说我的日志文件有以下条目
extract return code: 0
结果如下:
---------- C:\HP\LOGS\logfilename: 1
errorleve with percent 0
errorleve with dxcalim 0
do something
Press any key to continue . . .
如果我的日志文件有以下条目
extract return code: 1
结果如下:
---------- C:\HP\LOGS\logfilename.txt: 0
errorleve with percent 0
errorleve with dxcalim 0
do something
Press any key to continue . . .
如您所见,行结果不同但错误级别保持不变 ---------- C:\HP\LOGS\logfilename: 1 ---------- C:\HP\日志\logfilename.txt:0
所以我的 if 和 else 语句没有正确选择错误级别?此代码在此脚本之外运行良好;这就是为什么我很困惑。如果我对文本文件运行相同的代码,它可以正常工作,但是当我将它变成一个函数并在另一个脚本中调用它时,它会崩溃吗?
我究竟做错了什么?$errorlevel% 不是要检查的正确内容吗?我都试过了!errorlevel!和 %errorlevel% .. 我得到相同的结果