开发者

Batch file,executing second command if first command exit

I have a batch file, updatesipversion.bat that is calling another batch file, template.bat.

updatesipversion.bat code:

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 code

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

When the for command in first call to template.ba开发者_StackOverflowt call if %errorlevel==0% then it exits from :WASuccess, if not it exits from :Finish.

The second time template is not called or other command are not executed.

Please tell me if first command is exited, how to continue with making second template call.

Thanks


You should use either start instead of call, or use exit /B or goto :eof from your called batch. See this for reference.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜