Пакетный сценарий завершается на% errorlevel% == 0 - PullRequest
0 голосов
/ 24 октября 2019

У меня есть скрипт, который копирует файлы и вызывает: errorHandler после каждого действия. Я удалил все вызовы CALL: errorHandler, и сценарий выполняется ОТЛИЧНО.

Я пробовал много способов написать это утверждение IF, и все они потерпели неудачу

Я поиграл сЕСЛИ утверждение безуспешно

Я даже пошел на

IF 1==1 (
    firstErrorHandlerBlock
) ELSE (
    secondErrorHandlerBlock
)

IF %errorlevel% == 0
IF %errorlevel% != 1
IF %errorlevel% != 0
IF %errorlevel% == "0"
IF %errorlevel% >0
IF %errorlevel%> "0"
IF %errorlevel% NEQ 0
IF %errorlevel% NEQ 1


И все равно не получилось. В этом что-то есть.

:errorHandler

ECHO.
ECHO ======================================================================
ECHO      Error Handler               errorlevel = %errorlevel%
ECHO ======================================================================
ECHO.

CALL :debug

ECHO GOT UNTIL HERE
PAUSE
REM     ^-----------------------------------IT BREAKS AFTER THIS ONE --------------------------------------^

IF (%errorlevel% == 0) (
   ECHO No errors so far
   CALL :debug
   EXIT /B 0
) ELSE (
    REM set the window color to red '4' and text color to black '0'
    color 40
    ECHO.
    echo *** IMPORTANT ***
    echo Errors have been found 
    ECHO.
    ECHO Press any key again to exit
    ECHO.
    PAUSE
    EXIT
)

:debug
IF %debugging%=="1" (
    ECHO.
    ECHO Debugger PAUSE
    ECHO.
    PAUSE
    ECHO.
    EXIT /B 0
) ELSE (
    EXIT /B 0
)

PAUSE
...