web-dev-qa-db-fra.com

Comment désactiver la fermeture automatique de la commande à la fin?

Je sais qu'il existe quelques astuces avec les anciennes versions de Windows pour y parvenir, mais je ne suis pas sûr sous Windows 7.

Si un logiciel exécutant une commande avec des commutateurs entraînait l'ouverture et la fermeture rapides d'une fenêtre cmd.exe, comment puis-je reconfigurer l'invite de commande pour qu'elle ne se ferme pas automatiquement une fois la tâche terminée?.

Le truc, c’est que la commande en cours d’exécution est effectivement un fichier de commandes, qui inclut une instruction pause à la fin, mais la façon dont le logiciel tente d’exécuter la commande échoue. Comme il se ferme si rapidement, nous ne savons pas quelle erreur est renvoyée car il se ferme si rapidement.

18
Mythics

Au lieu d'exécuter ce fichier .bat directement à partir de l'Explorateur ou de toute autre méthode que vous utilisez, lancez manuellement cmd.exe (si nécessaire avec des privilèges élevés), puis exécutez votre fichier .bat à partir de là. Ensuite, à la fin de son exécution, vous verrez toujours toute la sortie ... comme au bon vieux temps DOS. :)

8
Mxx

Dans votre fichier .bat, utilisez la commande pause. Cela empêchera votre fichier .bat de se fermer.

Par exemple, voici mon fichier bat que j'utilise pour démarrer le service MySQL sur mon PC:

net start MySQL
pause

Remarque: Sous Windows 7, je lance ce fichier .bat à partir du nom de l'administrateur. Pour ce faire, cliquez avec le bouton droit de la souris sur votre fichier .bat et choisissez "Démarrer à partir du nom de l'administrateur" dans le menu déroulant.

6
Nikita

Vous devez utiliser le commutateur/k lorsque vous appelez.

Détails utiles ici .

5
Shevek

Dans le script .bat, vous laissez la "sortie" à la fin du script pour laisser la fenêtre de commande ouverte.

Une fenêtre de commande ouverte par un script se ferme toujours à la fin du script car elle dépend du script. Ouvrir la fenêtre vous-même et exécuter le script ne ferme pas la fenêtre sauf si vous avez spécifié la commande "exit" à la fin du script, car la fenêtre ne dépend pas du script.

Il ne semble pas qu'il soit possible d'empêcher la fermeture d'une fenêtre dépendant du script une fois le script terminé sous Windows 7. Toutefois, il est possible que des messages d'erreur soient enregistrés ailleurs. Le programme a-t-il un fichier journal? Ou y a-t-il des entrées dans les journaux Windows?

1
music2myear

J'avais ce problème depuis un moment maintenant et j'ai finalement compris ce qui se passait.

Lorsque vous démarrez une tâche avec le planificateur de tâches et qu'il s'agit d'un fichier bat, la fenêtre de commande ouvre la fenêtre de commande à C:\WINDOWS\system32 et PAS à l'emplacement où se trouve le fichier bat. Pourquoi? Je n'ai aucune idée! Donc, ce que je devais faire, c'est ajouter le répertoire avec cd dans le fichier chauve-souris.

Exemple ci-dessous:

cd c:\blahblahblah

startmyprogram.exe

0
user38300
pause>nul

ça devrait marcher.

0
Answer

Appuyez sur start, tapez cmd et appuyez sur enter, vous lancerez une invite de commande. Il suffit de glisser-déposer ce que vous devez exécuter (votre script python, .exe ...) dans la fenêtre de commande, puis d'appuyer sur Entrée. (Si vous devez exécuter la commande en tant qu'administrateur, recherchez-la dans le menu de démarrage, cliquez dessus avec le bouton droit de la souris, choisissez run as admin) (Fonctionne sous Windows 7)

0
JinSnow