使用错误处理程序从批处理文件中执行
Behat from batch file with error handler
我很难解释我的问题,所以让我们看看代码:
@echo off
cls
set errors=0
bin\behat > test.txt || set /A errors=errors+1
if %errors% EQU 0 goto ok
goto ko
:ok
echo .
echo .OK
goto end
:ko
echo .
echo .KO
:end
当我启动这个批处理文件时,我从未看到 OK/KO 输出。看起来批次在调用 behat 后停止了。但我需要它继续,以便检测错误并管理它们。
这个批次与其他调用一起工作正常,我需要在它们之后被调用。有人有解决这个问题的想法吗?
谢谢
您正在调用 bin\behat.bat
,一个批处理文件。
当批处理文件直接调用另一个批处理文件时,执行流程将转移到被调用的文件,而不是return调用方。
要调用另一个批处理文件并允许调用者执行 return,您将需要使用 call
命令
....
call bin\behat > test.txt || set /A errors=errors+1
....
我很难解释我的问题,所以让我们看看代码:
@echo off
cls
set errors=0
bin\behat > test.txt || set /A errors=errors+1
if %errors% EQU 0 goto ok
goto ko
:ok
echo .
echo .OK
goto end
:ko
echo .
echo .KO
:end
当我启动这个批处理文件时,我从未看到 OK/KO 输出。看起来批次在调用 behat 后停止了。但我需要它继续,以便检测错误并管理它们。
这个批次与其他调用一起工作正常,我需要在它们之后被调用。有人有解决这个问题的想法吗?
谢谢
您正在调用 bin\behat.bat
,一个批处理文件。
当批处理文件直接调用另一个批处理文件时,执行流程将转移到被调用的文件,而不是return调用方。
要调用另一个批处理文件并允许调用者执行 return,您将需要使用 call
命令
....
call bin\behat > test.txt || set /A errors=errors+1
....