6

所以我正在使用相同的批处理脚本构建多个客户端。如果在构建一个错误时,该过程会停止并继续下一个。因为屏幕上有很多输出,而且我正在做其他事情,所以大多数时候我都错过了构建错误。

如果出现错误,是否有办法停止执行以下任务,并显示弹出消息以引起我的注意?或者至少停止执行,这样当我回到命令窗口时,我可以看到出现故障?

@echo off

if "%1"=="?" GOTO HELP

if NOT "%1"=="" set rev=%1
if NOT "%2"=="" set version=%2

@echo on
rem build one 
call perl buildClient.pl -brandName="myBrand" -group="group1" 

rem build two 
call perl buildClient.pl -brandName="myBrand" -group="group2" 

rem build three
call perl buildClient.pl -brandName="myBrand" -group="group3" 

rem build four 
call perl buildClient.pl -brandName="myBrand" -group="group4" 


    @echo off

    goto EXIT

    :HELP
    cls
    echo.
    echo.
    echo usage: buildbrand.bat [revision] [version] [group]
    echo.
    echo        ?           = this help screen
    echo.
    echo        revision    = build version
    echo                      Example: 5.2.31
    echo        group       = group of phones or phone name
    echo                      Example: SonyEricsson\K750
    echo.
    :EXIT
    set version=
    set rev=
    set brandName=
    PAUSE
4

3 回答 3

5

“检查 if 语句中的错误级别,然后退出 /b(仅退出批处理文件,而不是整个 cmd.exe 进程)以获取 1 或更大的值。”

if %errorlevel% neq 0 exit /b %errorlevel%

查看此处了解详细信息:如何使批处理文件在遇到错误时终止?

于 2013-12-04T12:46:25.597 回答
1

如果出错则停止执行的正确语法是:

如果 ERRORLEVEL 1 退出

于 2013-09-20T09:08:59.850 回答
-4

只是一个提示尝试使用

if %ERRORLEVEL% NOT 1 
exit 0

在你的代码中。这应该退出错误。

于 2013-03-06T11:06:29.633 回答