129 votes

comment exécuter un script batch depuis un script batch

Comment appeler un autre script batch depuis un script batch? Je veux qu'il s'exécute dans une déclaration if .

271voto

yhw42 Points 888

Utilisez CALL comme dans

 CALL nameOfOtherFile.bat
 

Ceci bloquera (mettra en pause) l'exécution du fichier de commandes actuel et attendra que le fichier CALL ed soit terminé.

Si vous ne souhaitez pas le bloquer, utilisez plutôt START .

Obtenez les détails essentiels en utilisant CALL /? ou START /? partir de l'invite cmd.

28voto

Dan Fabulich Points 6143

Vous pouvez simplement appeler le script de commandes par nom, comme si vous êtes en cours d'exécution sur la ligne de commande.

Donc, supposons que vous avez un fichier bar.bat que dit - echo This is bar.bat! et que vous voulez l'appeler à partir d'un fichier foo.bat, vous pouvez écrire ceci en foo.bat:

if "%1"=="blah" bar

Exécutez foo blah à partir de la ligne de commande, et vous verrez:

C:\>foo blah

C:\>if "blah" == "blah" bar

C:\>echo This is bar.bat!
This is bar.bat!

Mais attention: Lorsque vous appelez un script batch à partir d'un autre script de traitement par lot, du lot initial script s'arrête en cours d'exécution. Si vous souhaitez exécuter le secondaire script batch et puis retour à l'ancien script de commandes, vous devrez utiliser l' call commande. Par exemple:

if "%1"=="blah" call bar
echo That's all for foo.bat!

Si vous exécutez foo blah sur qui, vous le voyez:

C:\>foo blah

C:\>if "blah" == "blah" call bar

C:\>echo This is bar.bat!
This is bar.bat!

C:\>echo That's all for foo.bat!
That's all for foo.bat!

11voto

Younes TARCHOUN Points 41

Vous devriez utiliser CALL

 CALL batch.bat
 

5voto

Elijah Saounkine Points 4108

Vous pouvez utiliser

 call script.bat
 

ou juste

 script.bat
 

2voto

stanik Points 32

Voici un exemple:

Vous avez un .bat:

 @echo off
if exist b.bat goto RUNB
goto END
:RUNB
b.bat
:END
 

et b.bat appelé conditionnellement à partir de a.bat:

 @echo off 
echo "This is b.bat"
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X