Wenn dies ein Schnipsel wie "Post-Build-Ereignis" usw., Dann werden Sie keine Probleme Anfügen sein:
(...) || ver > nul
am Ende des letzten Befehls.
Alternativ
cmd /c "exit /b 0"
ist sehr sauber und nicht-idiomatische - ein Leser, der Windows-Shell kennt, wird wissen, was los ist, und was war Ihre Absicht.
Wenn Sie jedoch in einem Batch-Skript sind, möchten Sie möglicherweise Subrotines verwenden, die eine leichte Entsprechung des "untergeordneten Batch-Skripts" aus der Antwort von akf sind.
Haben Sie ein Unterprogramm:
:reset_error
exit /b 0
und dann
nur
call :reset_error
wo immer Sie es brauchen.
Hier ist ein komplettes Beispiel:
@echo off
rem *** main ***
call :raise_error
echo After :raise_error ERRORLEVEL = %ERRORLEVEL%
call :empty
echo After :empty ERRORLEVEL = %ERRORLEVEL%
call :reset_error
echo After :reset_error ERRORLEVEL = %ERRORLEVEL%
:: this is needed at the end of the main body of the script
goto:eof
rem *** subroutines ***
:empty
goto:eof
:raise_error
exit /b 1
:reset_error
exit /b 0
Welche Ausgänge:
After :raise_error ERRORLEVEL = 1
After :empty ERRORLEVEL = 1
After :reset_error ERRORLEVEL = 0
Wie Sie sehen - nur anrufen und Rückkehr über goto: eof ist nicht genug.
Der Build nicht wirklich scheitern, nur die IDE wie es aussieht. – Dykam
Mir ist klar, das ist ein ziemlich alter Beitrag ... Ich hatte Erfolg darin, den Errorlevel auf 0 zu setzen, indem ich den Befehl "type nul" nach dem letzten Befehl absetzte. Hatte nur das Gefühl, dass es nützlich sein könnte. – Arun