ouvrir plusieurs programmes de manière séquentielle avec cmd
j'ai une séquence de 3 programmes qui doivent être lancées l'une après l'autre. J'ai trouvé sur le web quelque chose comme ça qui est exactement ce que je veux faire :
start /wait /b First.exe
start /wait /b Second.exe
start /wait /b Third.exe
Mon problème est que j'ai 1000 de la séquence de lancement...
J'ai donc essayé
start "exemple" "start /wait /b First.exe
start /wait /b Second.exe
start /wait /b Third.exe"
start "exemple2" "start /wait /b First.exe
start /wait /b Second.exe
start /wait /b Third.exe"
J'ai aussi essayé
start /b First1.exe
start /wait /b Second1.exe
start /wait /b Third1.exe
start /b First2.exe
start /wait /b Second2.exe
start /wait /b Third2.exe
Cela ne fonctionne pas trop...
Donc je ne sais pas comment le faire.
une idée?
thx 🙂
[MODIFIER ]
Nous allons essayer de le rendre plus clair
start "exemple" "start /wait /b First.exe
start /wait /b Second.exe
start /wait /b Third.exe"
start "exemple2" "start /wait /b First.exe
start /wait /b Second.exe
start /wait /b Third.exe"
Cela a échoué car le 2e départ n'est pas reconnu, il est dit que windows ne trouve pas 'start /wait /b First.exe'
start /b First1.exe
start /wait /b Second1.exe
start /wait /b Third1.exe
start /b First2.exe
start /wait /b Second2.exe
start /wait /b Third2.exe
Cela a échoué parce que l'ordre est
First1.exe et Second1.exe sont lancés.
Ensuite, l'ordinateur d'attendre la fin de Second1.exe pour le lancement de First2.exe et Second2.exe ...
L'ordre, je voudrais, c'est
L'ordinateur de lancement First1.exe & First2.exe
Second1.exe il est lancé lorsque First1.exe fini et Second2.exe il est lancé lorsque First2.exe fini.
Je voudrais éviter de l'utiliser .cmd par l'exécution (ce serait mon échec de la solution).
Je souhaite que je suis de plus en plus clair cette fois-ci!
- Ce n'est pas vraiment clair ce que vous essayez de faire?
- Non seulement il n'est pas clair, vous avez omis de vous dire combien vos tentatives ont échoué. "Ce n'est pas de travail" n'est jamais utile.
start
est une commande interne dans CMD.EXE il ne peut pas être lancé à partir d'unstart
commande comme vrai Exe peuvent être. Donc, si vous essayez de lancerfirst.exe
avec un titre de la fenêtre deexample
, vous devez exécuterstart "example" /wait First.exe
... Sinon, quel est votre "exemple" pour?- Il convient de noter que "start /wait /b" est redondante à l'intérieur d'un fichier de commande. Il suffit de dire "First.exe" par lui-même va faire exactement la même chose.
- Dans votre deuxième bloc de code, il semble que si vous attendez de les guillemets pour faire plusieurs lignes de code se comporter comme une seule chaîne de caractères. Il ne sera pas; ces guillemets ne font rien du tout.
Vous devez vous connecter pour publier un commentaire.
Vous aurez besoin d'une instance de cmd.exe pour chaque séquence, en plus de la principale instance. Le système d'exploitation n'a pas de prise en charge intégrée pour le séquençage des processus, et cmd.exe ne prend pas en charge le filetage dans les fichiers de commande.
Vous pouvez le faire comme ceci:
La seule façon d'éviter les (relativement modeste) les frais généraux de l'extra instances de cmd.exe serait d'écrire une solution dans un vrai langage de programmation plutôt que comme un fichier de commandes.
Vous pouvez également envisager de savoir si c'est vraiment ce que vous voulez faire. Windows n'a généralement pas effectuer très bien, lorsque des centaines de processus sont en cours simultanément.
Vous êtes encore en train de faire le d'attente dans le principal fichier de commandes. Vous souhaitez que la Première/Deuxième/Troisième séquence, d'être indépendant pour chaque cycle. Vous voulez la de chaque cycle de disposer de son propre /wait.
Pense que de donner des instructions à une équipe d'assistants. Vous voulez que chaque helper "attendre pour la Première, puis attendre une Seconde, puis attendre pour le Troisième."
que sur l'ajout d'invocations en un seul .Fichier CMD et ensuite l'exécuter via démarrer ?
Afin de vérifier si tout est ok, vous pouvez tester le code de retour de chacun des progs en .BAT/.CMD (ma mémoire me dit %ERRORLEVEL%, mais je ne suis pas si sûr 🙁 )