Quelle commande puis-je mettre à la fin d'un fichier batch pour empêcher la fermeture automatique de la console après l'exécution du fichier?
510
Quelle commande puis-je mettre à la fin d'un fichier batch pour empêcher la fermeture automatique de la console après l'exécution du fichier?
Réponses:
Dans les fichiers batch Windows / DOS:
Cela imprime un joli
"Press any key to continue . . . "
messageOu, si vous ne voulez pas le
"Press any key to continue . . ."
message, faites-le à la place:la source
Cela dépend de la question exacte!
Effectue normalement
pause
le travail dans un fichier .bat .Si vous souhaitez que cmd.exe ne se ferme pas pour pouvoir continuer à taper, utilisez la
cmd /k
commande à la fin du fichier.la source
cmd /k
plutôt votre commande avant.& cmd /k
ne fonctionnera pas.Je viens de ressentir le besoin de clarifier ce que
/k
fait (à partir du site Web de Windows):Ainsi,
cmd /k
sans commande de suivi à la fin du fichier bat gardera simplement lacmd.exe
fenêtre ouverte pour une utilisation ultérieure.D'un autre côté,
pause
à la fin d'un fichier de commandes, le processus s'arrêtera simplement et se termineracmd.exe
à la première pression sur le boutonla source
La manière ci-dessous d'avoir des commandes dans un fichier batch ouvrira de nouvelles fenêtres d'invite de commandes et les nouvelles fenêtres ne se fermeront pas automatiquement.
la source
Si vous utilisez Maven et que vous souhaitez ignorer la saisie et empêcher la console de se fermer pour voir le résultat, vous devez utiliser la
CALL
commande dans le script, en plus de la «mvn clean install».Comme cela fermera la console
Comme ça, la console restera ouverte
Si vous n'utilisez pas la
CALL
commande, aucun des exemples passés ne fonctionnera.la source
call <myCommand>
résolu ce problème: Mon invite a cessé de fermer après la première exécutionAjoutez
cmd.exe
une nouvelle ligne sous le code que vous souhaitez exécuter:la source
python script.py %1 && cmd
ma façon est d'écrire un lot réel (en disant "foo.bat") pour terminer le travail; puis créez un autre "start.bat":
Je trouve que cela est extrêmement utile lorsque je configure des variables d'environnement ponctuelles.
la source
cmd /k
(sans aucune commande) à la fin dufoo.bat
fichier et l'exécuter. Vous n'avez pas besoin d'unstart.bat
fichier séparé .Appelez
cmd
à la fin du fichier de commandes.la source
en plus
pause
.peut être utilisé. Il attendra l'entrée de l'utilisateur et libérera le flux lorsque vous appuyez sur Entrée.
ou
qui fera de même sauf que rien de l'entrée utilisateur ne sera affiché ni ne restera dans l'historique des commandes.
la source
Possibilité 1: Créez simplement 2 fichiers .bat et écrivez dans le premier:
Le fichier batch 2 est le fichier qui ne se fermera pas à la fin. Alors maintenant, lorsque vous ouvrez le lot n ° 1, il démarre le 2e et cloe lui-même. Lorsque le 2e se termine, il ne se fermera pas entièrement (tant que vous ne mettrez pas la sortie à la fin)
Possibilité 2: Fichier de lot 1:
Lorsque le 2e fichier se termine, il passe à nouveau au fichier 1 et génère le reste. Avec cela, vous pouvez même faire des gestionnaires d'erreurs. Si le n ° 1 plante, il passe au n ° 2 et l'affiche
la source
Ce petit hack demande à l'utilisateur d'entrer une clé et de la stocker dans la variable% exitkey% (cette variable pourrait être appelée comme vous voulez).
NB: l'espace après le '=' est très important
la source
ou
la source
Je sais que je suis en retard mais ma façon préférée est:
De cette façon, l'utilisateur ne peut pas quitter en utilisant enter.
la source
J'ai eu des problèmes avec les réponses ici, alors j'ai trouvé cela, qui fonctionne pour moi (TM):
la source
Il existe deux façons de le faire en fonction du cas d'utilisation
1) Si vous souhaitez que l'invite Windows cmd reste ouverte afin que vous puissiez voir le résultat de l'exécution et le fermer par la suite; utilisation
2) si vous voulez que l'invite Windows cmd reste ouverte et vous permette d'exécuter des mots de passe de commande; utilisation
la source
Facile, ajoutez cmd à votre dernière ligne de chauve-souris, MAIS! si vous réinitialisez ou effacez votre chemin système, vous devez démarrer votre cmd avec le chemin complet, comme:
Par exemple, j'ai un fichier bat pour réinitialiser jdk à l'ancienne version comme ceci:
depuis que je réinitialise le chemin du système, je dois exécuter cmd avec le chemin complet, ou le système ne peut pas trouver cmd.exe, il ne parviendra pas à exécuter cmd, et juste fermer la fenêtre, et vous ne pouvez pas voir le message d'erreur .
la source