2 回答

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊
您對(duì)CALL命令的描述不完整:
CALL:如果CALLed命令沒(méi)有設(shè)置它,則清除ERRORLEVEL。示例:call echo OK。
檢查這個(gè)小例子:
@echo off
call :setTwo
echo Set two: %errorlevel%
call :preserve
echo Preserve: %errorlevel%
call echo Reset
echo Reset: %errorlevel%
call :subNotExists 2> NUL
echo Sub not exist: %errorlevel%
goto :EOF
:setTwo
exit /B 2
:preserve
echo Preserve
exit /B
輸出:
Set two: 2
Preserve
Preserve: 2
Reset
Reset: 0
Sub not exist: 1
CALL 描述應(yīng)該說(shuō)是這樣的:
CALL:如果CALLed命令沒(méi)有設(shè)置它,則清除ERRORLEVEL。示例:call echo OK,但如果被調(diào)用的命令是子例程,則它會(huì)保留先前的ERRORLEVEL。如果被調(diào)用的子程序不存在,則將ERRORLEVEL設(shè)置為1。
添加回答
舉報(bào)