2016-04-03 9 views
0

In meiner Batch-Datei, die ich eine Funktion haben, wo Sie diesen Befehl verwenden, um einen Remote-Host zu verbinden:Ausfahrt mit Errorlevel von Windows-Batch-

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

Ich habe diese Funktion:

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

Wenn ich eingeben ein falsches Passwort erzeugt den Fehler, wird aber nicht mit einem Fehler beendet und der Wert von% errolevel% ist 0 anstelle von 2. Vorschläge?

Antwort

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

Es scheint keinen Grund zu geben, zu setzen txt

+0

Oder 'setlocal' alles was das betrifft, auch nicht. – SomethingDark

Verwandte Themen