У меня есть пакетный файл, updatesipversion.bat
, который вызывает другой пакетный файл, template.bat
.
updatesipversion.bat
код:
set init=empty
set main=svn propget svn:externals ./3c > install\msbuild\SipBranchDefaultDetailsTemplate.txt
set error=update
set action=empty
call template.bat "%init%" "%main%" "%error%" "%action%"
set init=empty
set main=install\msbuild\SipBranchDetails.exe
set error=update
set action=empty
call template.bat "%init%" "%main%" "%error%" "%action%"
template.bat
код
set /a WAcounter=0
for %%a in (%*) do set /a WAcounter+=1
if not %WAcounter%==4 goto :Error
set WAinit=%1
set WAmain=%2
set WAerror=%3
set WAaction=%4
set /a WAcounter=0
:WAinitCommand
IF NOT %1=="empty" %WAinit:~1,-1%
:WAmainCommand
set /a WAcounter+=1
IF NOT %2=="empty" %WAmain:~1,-1%
if %errorlevel%==0 goto :WASuccess
:WAerrorMsg
IF NOT %3=="empty" echo ERROR in %WAerror:~1,-1% Trying again......
if %WAcounter% equ 10 goto :Finish
goto :WAmainCommand
:WASuccess
IF NOT %4=="empty" %WAaction:~1,-1%
exit
:Finish
exit
:Error
echo there must be 4 command line arguments
exit
pause
Когда команда for
при первом вызове template.bat вызывает if %errorlevel==0%
, она завершается
с :WASuccess
, если нет - с :Finish
.
Второй шаблон времени не вызывается или другая команда не выполняется.
Скажите, пожалуйста, если первая команда завершена, как продолжить выполнение второго вызова шаблона.
Спасибо