web-dev-qa-db-fra.com

Pourquoi mon invite de commande se bloque-t-il sur Windows 10?

J'ajoute cette question après avoir passé toute une journée à lutter contre cette fonctionnalité extrêmement frustrante de l'invite de commande Windows 10, qui m'a fait penser qu'il y avait un problème avec le code de mon application de console. J'espère que ça va aider quelqu'un.

Problème: mon application de console semble s'arrêter de manière aléatoire. Que se passe-t-il?

87
Shaun Rowan

Le problème a fini par être une nouvelle fonctionnalité de la console Windows 10. Sous la configuration par défaut, chaque fois que vous cliquez sur une fenêtre de commande dans Windows 10, le processus d’application s’arrête immédiatement lorsqu’il tente d’écrire sur la console. Lorsque cela se produit, la fenêtre de commande est passée en mode "sélection".

Vous pouvez dire que cela est arrivé car cela préfixera la barre de titre de la fenêtre de commande avec le mot "Select":

frozen command window

Pour que votre programme fonctionne à nouveau, vous devez appuyer sur échap ou cliquer quelque part.

Pour vous débarrasser de ce comportement étrange, vous pouvez désactiver le mode QuickEdit:

disable QuickEdit Mode

180
Shaun Rowan

Ce que j'aimerais ajouter ici à la réponse de Shaun Rowan, c'est que pour que cela fonctionne dans toutes les fenêtres de la console , vous devez cliquer sur "Par défaut", au lieu de "Propriétés" et apportez vos modifications, comme décrit dans this post .

7
iko79

J'ai rencontré ce problème très récemment lorsqu'un des utilisateurs (qui avaient configuré Quickedit sur son invite de commande) utilisait un outil que j'ai développé en Java et que l'outil était figé lors de son exécution à partir de la commande Invite.

Enfin, le problème a été de rediriger la journalisation à l'intérieur du script batch vers un fichier, comme indiqué ci-dessous:

@echo off
...
Java.exe -jar mytool.jar

doit être mis à jour à

Java.exe -jar mytool.jar > log.txt
1
Priyanku