Batch errorhandling

Talán ez a jó cikk magyarázatnak. Átalakítottam végül a programom.

https://stackoverflow.com/questions/1164049/batch-files-error-handling

IF [%1]==[] GOTO BLANK
IF [%1]==[/?] GOTO BLANK
IF /I "%1"=="api" GOTO API
IF /I "%1"=="train" GOTO TRAIN

:BLANK
ECHO "Usage: cfpushing [ api | train ]"
EXIT /B

:API
CALL :BGCHANGE greenapi to blueapi copyfolder
IF /I "%ERRORLEVEL%" EQU "2" (
    CALL :BGCHANGE blueapi to greenapi copyfolder
    IF /I "%ERRORLEVEL%" EQU "2" (
        XCOPY /R /E /Y origin copyfolder\origin\
        cf push -f blueapi.yml
        RMDIR /S /Q copyfolder\origin\
    )
)
GOTO FINISH

:BGCHANGE
echo %1 to %3 with %~4

cf app %~1 | grep running
IF /I "%ERRORLEVEL%" EQU "0" (
    XCOPY /R /E /Y origin %~4\origin\
    cf push -f %3.yml || (
        RMDIR /S /Q %~4\origin 
        ECHO Error in pushing
        EXIT /B 1
    )
    RMDIR /S /Q %~4\origin 
    cf stop %~1
    EXIT /B 0
)
EXIT /B 2

:FINISH
ECHO "PUSHED"

Vélemény, hozzászólás?

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük