2016-04-03 154 views
0

在我的批处理文件,我有一个函数,其中使用此命令ERRORLEVEL出口连接到远程主机:从Windows批处理

net use %alias%: \\%host%\%root%$ %usrPwd% /USER:%usrName% >> %logfile% 2>&1 || (call :exitIfError ERROR) 

我创造了这个功能:

:exitIfError 
setlocal 
(set txt=%~1) 
if not ERRORLEVEL 0 (echo %txt% && exit /B %errorlevel%) 
endlocal 
goto :eof 

如果我进入一个不正确的密码会产生错误,但不会以错误结束,并且%errolevel%的值为0 而不是2.建议?

回答

0
:exitIfError 
if ERRORLEVEL 1 (echo %~1& exit /B %errorlevel%) 
exit /b 0 

那里看来是没有理由设定txt

+0

或'为此事setlocal'任何东西,无论是。 – SomethingDark