J'ai un fichier batch qui appelle un autre fichier batch qui existe dans le répertoire PATH (appelant essentiellement un exécutable avec des commutateurs supplémentaires.)
: bar.bat:
foo.bat file1.txt
foo.bat file2.txt
etc.
Dans foo.bat:
foo.exe -t -s %1
bar.bat exécute la première commande mais se ferme immédiatement (c'est-à-dire en travaillant uniquement sur file1.txt ).
Comment puis-je créer ce fichier de commandes pour appeler l'autre fichier de commandes plus d'une fois?
goto :eof
pour revenir tôt.exit /b
n'est généralement nécessaire que si vous avez besoin du code retour.exit /b
etgoto: eof
. Est-il correct d'ajouter la sortie de la batte APPELÉE?call foo.bat > myfile
En plus de la réponse de @ splattne, utilisez
exit /b
dans leCALL
fichier batch ed si vous devez revenir plus tôt.la source
Une autre option (pour la compatibilité avec DOS avant la version 3.3 :-)) consiste à appeler le processus de commande avec l'option enfant (/ c) et le nom de l'autre fichier de commandes à traiter. Cela fera également un appel au lieu d'une chaîne, et fonctionnera même sur des machines vraiment anciennes (juste au cas où quelqu'un les traverserait et s'en soucierait). :-)
la source
@Écho off
echo WbLegalReport.cmd
je:
cd I: \ CFS \ Batch \ jarDir
écho% CD%
WbLegalReport.cmd
écho% CD%
echo WatchResrAddDeleted.cmd
écho% CD%
WatchRestrAddDeleted.cmd
écho% CD%
Ce que j'essaie de faire ici, c'est d'appeler ces deux fichiers batch dans une séquence.
Impossible de le faire.
Aidez-moi, s'il vous plaît.
En fait, il échoue au niveau du script enfant, car le contrôle ne revient pas au script principal
la source
Sanket, n'appelez pas directement le fichier batch. Utilisez la commande "CALL". Voir l'exemple de splattne .
la source