J'ai un fichier batch que je teste, tout ce que je veux faire est le suivant
CALL ping.bat
Ensuite, une fois ce fichier de traitement exécuté, je souhaite exécuter un autre fichier:
CALL ping2.bat
En ce moment, j'ai ces deux lignes côte à côte dans un fichier batch. Le premier fichier batch se déclenchera avec succès, mais pas la seconde. Aucune suggestion?
CALL ping.bat
CALL ping2.bat
Ping .bat est juste:
ping 127.0.0.1
Vérifiez que vous n'avez pas exit
quelque part dans le premier lot. Certaines personnes l'utilisent habituellement pour sortir d'un fichier batch, ce qui n'est pas le bon moyen de sortir d'un lot (exit /b
ou goto :eof
l'est).
Une autre option consiste à appeler un autre lot dans le premier sans call
.
Il se peut que votre ping.bat
s’appelle simplement tout seul, si son contenu est simplement ping 127.0.0.1
, comme vous le dites.
J'ajouterais .exe
après ping
pour en être sûr.
Comme le suggère jeb à juste titre, le choix d’un nom différent pour votre fichier de commandes est une solution encore meilleure.
Supposons que vous avez 3 fichiers de commandes.
Si vous avez les trois fichiers de commandes dans un seul dossier (disons sous C:\NewFolder) Si vous double-cliquez sur ping3.bat, vous n'obtiendrez certainement aucune erreur.
Remarque: Si vous ne souhaitez pas attendre la fin de la première commande, utilisez le mot-clé start, qui lance le processus et passe à la ligne suivante du fichier de commandes, tandis que l'appel une fois le processus en cours terminé, start autorise le parallélisme)
Pour le faire en parallèle, utilisez les deux lignes de code ci-dessous dans le ping3.bat:
démarrer ping1.bat
démarrer ping2.bat
n'appelez pas le fichier que vous appelez du lot avec le même nom que la commande que vous essayez d'appeler ... renommé gnip.bat et fonctionne correctement
Vous ne savez pas exactement ce que vous vouliez faire ici, mais je suppose que vous vouliez faire ceci:
Dans ce cas, à partir de votre fichier de commandes actuel, vous devez démarrer ping.bat et ping2.bat comme suit:
::some code here
start /wait ping.bat
start /wait ping2.bat
::some code here
Ensuite, dans ping.bat et ping2.bat, la dernière ligne doit être exit. Leur code devrait ressembler à ceci:
::some code here, might be ping 127.0.0.1
exit
Alors maintenant, votre fichier de commandes réel va commencer ping.bat et attendra qu'il se termine (exit). Une fois que ping.bat se ferme, votre fichier de commandes actuel passera à la ligne suivante et démarrera ping2.bat, etc.
La commande ping agit différemment sur différents systèmes d'exploitation. Essayez de forcer la commande ping à s’arrêter après quelques requêtes d’écho avec un commutateur -n.
ping -n 4 127.0.0.1