2010-04-17 6 views
2

Je cherche à exécuter une deuxième commande batch à partir de .bat mais après que la première commande a été exécutée.Ordre d'exécution des commandes par lots

REN "myfile.txt" "my_file.txt" 
start "title" "path" 

Ici, je veux la commande de changement de nom à exécuter avant le processus que je voulais commencer qui a été mis fin ou exécuté. pourquoi ça ne marche pas dans l'ordre de la séquence?

Mise à jour:

Les deux commandes fonctionnent correctement dans l'ordre si je mets une « pause » ou/sommeil entre les commandes.

+2

Qu'est-ce qui vous amène à croire que les commandes ne sont pas exécutées dans l'ordre? Voyez-vous une sortie qui implique le contraire? Il est possible que la commande renommer ne fonctionne pas comme prévu? – reuben

+0

La commande Rename fonctionne mais après la commande start process. – cpx

+0

Cela devrait fonctionner comme vous l'avez décrit. pouvez-vous poster un cas de test qui montre que ce n'est pas le cas? Essayez de changer votre début pour "démarrer cmd/c chemin chemin \ mon *. *" – SqlACID

Répondre

1

Essayez de mettre la commande REN dans un fichier batch séparé - Je pense que CALL peut forcer le lot à attendre jusqu'à ce qu'il retourne:

- file1.bat

CALL file2.bat "myfile.txt" "my_file.txt" 
start "title" "path" 

- file2.bat

REN %1 %2