Esiste una scorciatoia da tastiera per mettere in pausa l'output di una finestra CMD mentre è in esecuzione?


14

Sto eseguendo uno script batch che impiega molto tempo e il cui output sta sfrecciando a un ritmo illeggibile. Esiste una scorciatoia da tastiera che ti consente di mettere in pausa la console CMD dove si trova attualmente per fermare e leggere l'output e quindi riavviarlo nuovamente dallo stesso punto?

inserisci qui la descrizione dell'immagine


5
C'è sempre CTRL-S. Quindi CTRL-Q per riavviare.
Bill,

È possibile afferrare la casella di scorrimento e spostarla verso l'alto, questo metterà effettivamente in pausa lo scorrimento. È quindi possibile premere il tasto freccia giù per spostarsi nella parte inferiore del buffer.
Burhan Khalid,

Non è questo lo scopo previsto del tasto "Blocco scorrimento"?
TOOGAM,

Risposte:


5

Non l'ho visto nelle altre risposte.

Credo che le sequenze di controllo seriale di 'Ctrl-S' XOFF e 'Ctrl-Q' XON siano le sequenze chiave intese a risolvere il problema.

Perfavore guarda;

XON / XOFF


1
Ho cambiato questo per rispondere al meglio per alcuni motivi. Dalla ricerca, il tasto Pausa / Interrompi di per sé interrompe l'output, ma non l'esecuzione, di cui l'altra risposta non fa menzione. Ctrl + Pause / Break deve essere usato per fermare l'esecuzione, e questo è leggermente più ingombrante da scrivere sulla maggior parte delle tastiere rispetto a Ctrl + S e Ctrl + Q (può essere fatto solo con la mano sinistra). Detto questo, Ctrl + Pausa / Pausa ha il vantaggio di non aver bisogno di ricordare due combinazioni di tasti in più, quindi entrambe le risposte sono buone, mi piacerebbe solo vedere questo ottenere i voti che merita.
Hashim,

Nota che sebbene questa risposta generi una domanda Unix / Linux, le combinazioni di tasti funzionano bene su CMD.exe, almeno sul mio sistema operativo Windows 7.
Hashim,

1
@Hashim, grazie per aver condiviso la tua ricerca. Dato che hai chiesto specificamente come mettere in pausa l' output , non ho considerato (né testato) questa possibilità, ma è bello conoscerlo. (Eseguito l'upgrade)
Marc.2377,

16

La tua tastiera contiene il Pause/Breaktasto? Sarebbe utile per questo. Ecco come appare, o almeno usato per:

Tasto Pausa pausa da Wikipedia

Come bonus interessante, questa chiave può essere utilizzata anche durante il POST (Power On Self Test, che viene eseguito all'accensione del computer) per leggere l'output dal BIOS.

Se non hai quella chiave, la combinazione Control+ NumLockdovrebbe funzionare allo stesso modo, e ci sono altre opzioni a seconda del produttore, secondo Wikipedia .

Per riprendere l'esecuzione, premere Enter.


Nota su alcune tastiere potresti avere un tasto di blocco scorrimento specifico (di solito contrassegnato ScrLk), che può servire a uno scopo simile.
Burhan Khalid,

@BurhanKhalid Bene, ho letto su quel link che mette in pausa l' output , ma non l' esecuzione , e questo effetto sembra non applicarsi alla console di MS Windows ... ma bello sapere comunque
Marc.2377

1
Con ping, sembra fermare l'esecuzione. è molto strano, dato che il ping è un eseguibile discreto. inoltre, quando messo in pausa, il processo ping.exe rimane nell'esplorazione dei processi fino a quando non è consentito il completamento. mentre è in pausa, tutti i suoi fili entrano Wait:Executivee non sembrano pulsare periodicamente. Affascinante.
Frank Thomas,

2
Un altro trucco che mi piace usare è quello di contrassegnare un po 'di testo con il mouse (ho sempre abilitato la modalità Quickedit). Ciò interrompe l'output (e quindi l'esecuzione, poiché anche un programma che scrive su stdout attende fino alla scrittura dello stream).
THS

1

È possibile utilizzare il comando "altro". Anche se non è esattamente quello che stai cercando, limiterà l'output dello schermo di una pagina.


1
Questa è la soluzione migliore perché mettere in pausa l'output al momento giusto è praticamente impossibile data la velocità con cui l'output viene generalmente prodotto. Per chiarimenti devi usare una pipe dopo il tuo comando seguito da ALTRO. Ad esempio NETSH HTTP SHOW SSLCERT | ALTRO
Vincent,

Windows non ha "più" nativo
KumarAnkit

1

Aggiunta di un altro modo utile per le shell Linux . (Ma forse va bene anche in Windows, provalo!)

Premendo ctrl+ siz bloccherà il programma. (Messaggio: interrotto)

Per eseguirlo nuovamente nel suo stato precedente, come se fosse in pausa:

genere fg

O per un uso multiplo: nome_programma_previously_ctrl + z_stopped `fg


0

Ci sono un paio di altri metodi qui da aggiungere, se siamo accurati:

1) Oltre al pulsante Pausa / Interrompi puoi duplicarne la funzionalità usando "CTRL + C".

Ciò causerà la pausa dello script cmd e ti chiederà se desideri terminarlo. Una volta che hai finito di cercare puoi selezionare "NO" (o forse sì se ti va bene) e continuerà (o esci, se hai scelto sì).

2) Puoi anche mettere in pausa usando il mouse facendo clic con il cursore del mouse nella finestra per selezionare il testo dal Terminale CMD.

Potresti aver notato questo output di pausa in passato e hai pensato che solo l'output fosse ritardato, tuttavia quando gli script sono in esecuzione in istanze cmd interattive stai effettivamente mettendo in pausa l'esecuzione del codice (lo stesso di "Pause / Break" e "CTRL + C "Metodi).

Tuttavia, una volta che la finestra non è più attiva o si fa clic per annullare la pausa, l'esecuzione del codice continuerà e non è possibile terminare il codice in questo modo.


Wow, ragazzi siete giovani. Non hai mai usato terminali seriali? Prova Ctrl-s / Ctrl-Q
NetScr1be

Il software di emulazione terminale generalmente implementa il supporto XOFF / XON come funzione di base. Ciò include generalmente la console di sistema su moderne macchine Unix e Linux, nonché emulatori GUI come xterm e la console Win32.
NetScr1be

0

Sui sistemi Windows, se la schermata di output ha abilitato la modalità Modifica rapida (in base alla configurazione) è sufficiente fare clic sullo schermo e selezionare qualsiasi parte dello schermo. Il programma interromperà l'esecuzione finché non si fa clic con il pulsante destro del mouse sullo schermo per deselezionarlo. Lo schermo può perdere la messa a fuoco e continuerà a essere congelato fino a quando non torni e fai clic destro su di esso. Fai attenzione che qualsiasi contenuto degli Appunti, se presente, può essere capovolto su quella schermata quando fai clic con il tasto destro su di essa.

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.