2009-09-21 8 views
1

J'écris un script qui exécute la même fonction plusieurs fois, mais lorsque je lance le script, une seule des commandes s'exécute, laissant le reste non exécuté après l'exécution du fichier .bat.Le script .bat n'exécute qu'une ligne

Est-ce que cela a à voir avec le temps qu'il faut pour exécuter mes commandes (15-20 sec)? J'ai écrit beaucoup de fichiers de chauves-souris et je n'ai jamais rencontré ça. Dois-je avoir une fonction de sommeil entre chaque commande?

J'ai essayé de trouver celui-ci sur google, mais mes termes de recherche disponibles rendent mes résultats de recherche vagues et difficiles.

Toute aide est certainement appréciée.

le fichier de chauve-souris ressemble à quelque chose comme le

IF input1 == "search term" goto location 
do something 
do something 
do something 
etc 
goto end of file 
:location 
do something else 
do something else 
do something else 
... 
+0

Publiez votre fichier batch actuel. – JBrooks

Répondre

12

suivant Est-ce que l'une de vos lignes « faire quelque chose d'autre » impliquent d'appeler un autre fichier batch? Si oui, utilisez-vous la commande CALL?

Si vous souhaitez appeler un autre fichier de traitement par lots de manière récursive, vous devez utiliser CALL. Sinon, lorsque le fichier de commandes appelé se ferme, il ne revient pas au fichier de traitement par lots et se ferme simplement. Ceci est une relique des jours MS-DOS; étant donné que la mémoire était précieuse, les développeurs MS ont décidé que l'interpréteur de batch ne devrait pas conserver une pile d'appels par défaut - donc si vous en vouliez un, vous deviez utiliser CALL. Pour plus d'informations, voir call /? pour plus d'informations.

+0

Merci Nick, c'est presque certainement le problème. Mon script appelle un autre fichier batch. Je vais vérifier et re-commenter une fois que je découvre si cela résout/ne résout pas le problème. –

+0

C'était tout. Très appréciée. –

+0

Merci, cela explique assez bien pourquoi seule la première ligne a été exécutée :) –

Questions connexes