J'ai un fichier batch, updatesipversion.bat
qui appelle un autre fichier batch, template.bat
.Fichier batch, exécution de la seconde commande si la première commande est sortie
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
Lorsque la commande for
dans le premier appel à Template.bat appeler if %errorlevel==0%
alors il sort de :WASuccess
, sinon sorties de :Finish
.
Le deuxième modèle de temps n'est pas appelé ou les autres commandes ne sont pas exécutées.
S'il vous plaît dites-moi si la première commande est terminée, comment continuer à faire appel deuxième modèle.
Merci
pour la lisibilité pouvez-vous s'il vous plaît éditer votre poste et faire le code parties lokk liek code? – Thariama
Notez que vous pouvez utiliser '% ~ 1', etc. pour supprimer automatiquement les guillemets qui rendraient le reste de ce lot beaucoup plus facile à lire. – Joey