Perché il mio prompt dei comandi si blocca su Windows 10?


146

Sto aggiungendo questa domanda dopo aver trascorso un'intera giornata a lottare con questa funzione incredibilmente frustrante del prompt dei comandi di Windows 10 che mi ha fatto pensare che ci fosse qualcosa di sbagliato nel mio codice dell'applicazione console. Spero che possa aiutare qualcuno.

Problema: l'applicazione console sembra arrestarsi in modo casuale. Cosa sta succedendo?


2
Inoltre è necessario premere Invio per continuare a eseguire il programma
wrivas

Risposte:


270

Il problema è finito con l'essere una nuova funzionalità della console di Windows 10. Sotto la configurazione predefinita, ogni volta che fai clic su una finestra di comando in Windows 10, interrompe immediatamente il processo dell'applicazione quando tenta di scrivere sulla console. Quando ciò accade, la finestra di comando è passata in modalità "selezione".

Si può dire che è successo perché farà precedere la barra del titolo della finestra di comando con la parola "Seleziona":

finestra di comando congelata

Per riavviare il programma, è necessario premere Esc o fare clic altrove.

Per sbarazzarsi di questo strano comportamento, è possibile disabilitare la modalità QuickEdit:

disabilita la modalità QuickEdit


26
Mio dio ti ringrazia! Mi occupo di questo da un anno LOL. Inoltre potrebbe essere necessario deselezionare l'opzione, CHIUDERE il terminale e aprirlo di nuovo. Almeno è così che funziona per me (altrimenti lo
riattiverà

3
Ho avuto un lavoro di compilazione di più ore che continuava a congelare per questo motivo. Per fortuna hai pubblicato una soluzione!
Gioele,

2
Sebbene questa risposta abbia aiutato a disabilitare il blocco sul clic, anche lo scorrimento della barra laterale la blocca. Il comportamento precedente era il blocco mentre si teneva la barra di scorrimento e l'output veniva stampato quando si rilasciava la barra di scorrimento. Qualche idea su come ripristinare il vecchio comportamento / sbloccarlo? Esc o invio non funzionano.
Quimnuss,

6
questa è una funzionalità molto vecchia per copia e incolla più veloci. È solo che Windows 10 inizia ad abilitarlo per impostazione predefinita Come disabilitare il tasto destro del mouse per incollare in PowerShell?
phuclv,

3
"Feature not a bug" è la rovina degli utenti ovunque
tschwab,

20

Quello che vorrei aggiungere qui alla risposta di Shaun Rowan è che per farlo funzionare in tutte le finestre della console è necessario fare clic su "Impostazioni predefinite", anziché su "Proprietà" e apportare le modifiche lì, come descritto in questo post .


0

Di recente ho riscontrato questo problema in cui uno degli utenti (che aveva configurato Quickedit nel suo prompt dei comandi) stava usando uno strumento sviluppato in Java e lo stava bloccando mentre era in esecuzione dal prompt dei comandi.

Infine, ciò che ha risolto il problema è stato il reindirizzamento della registrazione all'interno dello script batch su un file come mostrato di seguito:

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

doveva essere aggiornato a

java.exe -jar mytool.jar > log.txt


1
Per gli sviluppatori, questo thread potrebbe essere interessante, puoi disabilitare questo comportamento programmaticamente usando SetConsoleMode(kernel32.dll).
Groo
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.