web-dev-qa-db-fra.com

Construire un fichier batch pour exécuter les fichiers exe de manière séquentielle

Je viens de commencer à apprendre à construire un fichier de commandes. (sur l'environnement Windows 7)

Je veux construire le fichier de commandes qui est capable d'exécuter des fichiers .exe de manière séquentielle.

Exécuter les fichiers de commandes séquentiellement

J'essayais d'appliquer l'idée ci-dessus mais je ne sais pas trop comment l'appliquer

Par exemple, il y a trois fichiers sur le D: /

Dans "D: /", il y a trois fichiers .exe.

  1. MyDriver.exe
  2. YouDriver.exe
  3. Mysoftware.exe

Et je voudrais construire un fichier de commandes qui exécute trois fichiers exe de manière séquentielle

Le scénario possible est ..

  1. Exécuter le fichier de commandes
  2. Exécuter MyDriver.exe
  3. L’interface graphique d’installation du fichier MyDriver s’affiche, puis l’utilisateur commence à installer Mydriver
  4. Fait avec MyDriver.exe
  5. Exécuter YouDriver.exe
  6. L’interface graphique d’installation du fichier YouDirver apparaît, puis l’utilisateur commence à installer YouDriver
  7. Fait avec YouDriver.exe
  8. Exécuter MySoftware.exe
  9. L’interface d’installation de MySofrware s’ouvre, puis l’utilisateur commence à installer MySoftware 
  10. Terminer le fichier de commandes.

Je ne sais pas vraiment si les fichiers de commandes peuvent le faire ou non ...

si c'est impossible, y a-t-il d'autres options pour le construire ???

merci

8
Dc Redwing

En réalité, vous n'avez rien à faire de spécial pour y arriver. Les fichiers de commandes sont synchrones par défaut. L'exécution du fichier de commandes est suspendue lors du lancement d'un fichier exécutable et reprend lors de sa fermeture. Quelque chose d'aussi simple que cela devrait faire:

@echo off
REM "@echo off" prevents each line from being printed before execution,
REM and is optional
REM "REM" introduces a comment line
D:\MyDriver.exe
D:\YouDriver.exe
D:\MySoftware.exe

Bien sûr, si vous souhaitez vérifier les valeurs de retour des programmes, pour savoir s'ils ont réussi ou non à installer (en supposant que le programme d'installation fournisse ces informations), la situation devient légèrement plus compliquée. si c'est ce dont vous avez besoin, mentionnez-le dans un commentaire et je développerai ma réponse en conséquence.

9
Aaron Miller

Cela démarrera chaque fichier et attendra qu'il soit terminé, puis lancera le suivant.

@echo off
start "" /w /b "d:\MyDriver.exe"
start "" /w /b "d:\YouDriver.exe"
start "" /w /b "d:\Mysoftware.exe"
7
foxidrive
start MyDriver.exe
start YouDriver.exe
start MySoftware.exe

Si vous voulez le fichier de commandes dans un autre répertoire, vous devrez faire:

cd D:\
start MyDriver.exe
start YouDriver.exe
start MySoftware.exe

Si vous voulez un système plus flexible:

echo Welcome to EXE starter!
set /p dir = DIR:
set /p exe = EXE1:
set /p exe1 = EXE2:
set /p exe 2 = EXE3:
cd DIR
start exe
start exe1
start exe2

Voilà!

Pour le faire successivement:

call YouDriver.exe
call MeDriver.exe
call Mysoftware.exe

call arrêtera le fichier de commandes jusqu'à la fermeture du programme.

3
javaboy

Essayez de le placer dans le même répertoire que les fichiers que vous souhaitez exécuter. Si vous ne pouvez pas, utilisez cd C:\Directory\Name pour le changer dans le répertoire où se trouve le fichier MyDriver.exe. Ensuite, il suffit de faire MyDriver.exe - vous n'avez pas besoin d'une instruction call ou start.

MyDriver.exe
YouDriver.exe
MySoftware.exe

utilisez cd au début si vous en avez besoin.

0
Joao