Existe-t-il un raccourci clavier pour suspendre la sortie d'une fenêtre CMD pendant son exécution?

14

Je suis en train d'exécuter un script batch qui prend très longtemps et dont la sortie siffle à un rythme illisible. Existe-t-il un raccourci clavier qui vous permet de suspendre la console CMD là où elle se trouve actuellement pour arrêter et lire la sortie, puis la redémarrer à nouveau au même endroit?

entrez la description de l'image ici

Hashim
la source
5
Il y a toujours CTRL-S. Ensuite, CTRL-Q pour redémarrer.
BillP3rd
Vous pouvez saisir la boîte de défilement et la déplacer vers le haut, ce qui interrompra efficacement le défilement. Vous pouvez ensuite appuyer sur la touche fléchée vers le bas pour vous déplacer vers le bas du tampon.
Burhan Khalid
N'est-ce pas le but recherché de la touche "Scroll Lock"?
TOOGAM

Réponses:

5

Je n'ai pas vu cela dans les autres réponses.

Je crois que les séquences de contrôle en série de «Ctrl-S» XOFF et «Ctrl-Q» XON sont les séquences clés destinées à résoudre le problème.

S'il te plait regarde;

XON / XOFF

NetScr1be
la source
1
J'ai changé cela en meilleure réponse pour plusieurs raisons. De la recherche, la touche Pause / Break sur sa propre interruption interrompt la sortie, mais pas l'exécution, dont l'autre réponse ne fait aucune mention. Ctrl + Pause / Break doit être utilisé pour arrêter l'exécution, ce qui est légèrement plus lourd à taper sur la plupart des claviers que Ctrl + S et Ctrl + Q (peut être fait uniquement avec la main gauche). Cela dit, Ctrl + Pause / Break a l'avantage de ne pas avoir besoin que vous vous souveniez de deux raccourcis clavier supplémentaires, donc les deux réponses sont bonnes, j'aimerais juste voir celle-ci obtenir les votes positifs qu'elle mérite.
Hashim
Notez que bien que cette réponse génère une question Unix / Linux, les raccourcis clavier fonctionnent correctement sur CMD.exe, au moins sur mon système d'exploitation Windows 7.
Hashim
1
@Hashim, merci de partager vos recherches. Parce que vous avez spécifiquement demandé comment suspendre la sortie , je n'ai pas envisagé (ni testé) cette possibilité, mais c'est agréable à apprendre. (Vote positif)
Marc.2377
16

Votre clavier contient-il la Pause/Breakclé? Cela servirait bien à cela. Voici à quoi il ressemble, ou du moins utilisé pour:

Pause Break Key de Wikipedia

Comme bonus intéressant, cette clé peut également être utilisée pendant le POST (Power On Self Test, qui s'exécute lorsque l'ordinateur est allumé) pour lire la sortie du BIOS.

Si vous n'avez pas cette clé, la combinaison Control+ NumLockdevrait fonctionner de la même manière, et il existe d'autres options selon votre fabricant, selon Wikipedia .

Pour reprendre l'exécution, appuyez sur Enter.

Marc.2377
la source
Remarque sur certains claviers, vous pouvez avoir une touche de verrouillage de défilement spécifique (généralement marquée ScrLk), qui peut servir un objectif similaire.
Burhan Khalid
@BurhanKhalid Eh bien, j'ai lu sur ce lien qu'il suspend la sortie , mais pas l' exécution , et cet effet semble ne pas s'appliquer à la console MS Windows ... mais cool à savoir néanmoins
Marc.2377
1
Avec ping, il semble arrêter l'exécution. c'est très étrange, car ping est un exécutable discret. en outre, lorsqu'il est suspendu, le processus ping.exe reste dans l'explorateur de processus jusqu'à ce qu'il soit autorisé à se terminer. en pause, tous ses fils entrent Wait:Executiveet ne semblent pas pulser périodiquement. Fascinant.
Frank Thomas
2
Une autre astuce que j'aime utiliser est de marquer du texte avec la souris (j'ai toujours le mode quickedit activé). Cela interrompt la sortie (et donc l'exécution, puisqu'un programme qui écrit sur stdout attend que le flux soit écrit) également.
le
1

Vous pouvez utiliser la commande "more". Bien que ce ne soit pas exactement ce que vous recherchez, cela limitera la sortie d'écran par une page.

Rooparsh Kalia
la source
1
C'est la meilleure solution car il est pratiquement impossible de suspendre la sortie au bon moment étant donné la vitesse à laquelle la sortie est généralement produite. Pour plus de précision, vous devez utiliser un tube après votre commande suivi de PLUS. Par exemple NETSH HTTP SHOW SSLCERT | PLUS
Vincent
Windows n'a pas de natif «plus»
KumarAnkit
1

Ajout d'une façon plus utile pour les shells linux . (Mais peut-être que ça va aussi dans les fenêtres, essayez-le!)

Appuyez sur ctrl+z pour bloquer le programme. (Message: arrêté)

Pour le faire revenir à son état précédent, comme s'il était en pause:

Type fg

Ou pour une utilisation multiple: program_name_previously_ctrl + z_stopped `fg

NVRM
la source
0

Il y a quelques autres méthodes à ajouter, si nous sommes minutieux:

1) En plus du bouton Pause / Break, vous pouvez dupliquer sa fonctionnalité en utilisant "CTRL + C".

Cela entraînera une pause du script cmd et vous demandera si vous souhaitez y mettre fin. Une fois que vous avez fini de chercher, vous pouvez sélectionner "NON" (ou peut-être oui si cela vous convient) et cela continuera (ou quitter, si vous avez choisi oui).

2) Vous pouvez également suspendre l'utilisation de la souris en cliquant avec le curseur de votre souris dans la fenêtre pour sélectionner du texte à partir du terminal CMD.

Vous avez peut-être remarqué cette sortie en pause dans le passé et pensé que la sortie devait être retardée, cependant lorsque les scripts s'exécutent dans des instances cmd interactives, vous suspendez réellement l'exécution du code (comme avec "Pause / Break" et "CTRL + C "Méthodes).

Cependant, une fois que la fenêtre perd le focus ou que vous cliquez pour annuler les choses, l'exécution du code se poursuit et vous n'avez aucune option pour terminer le code de cette manière.

Ben Personick
la source
Wow, vous êtes jeunes. Vous n'avez jamais utilisé de terminaux série? Essayez Ctrl-s / Ctrl-Q
NetScr1be
Le logiciel d'émulation de terminal implémente généralement le support XOFF / XON comme fonction de base. Cela comprend généralement la console système sur les machines Unix et Linux modernes, ainsi que les émulateurs GUI tels que xterm et la console Win32.
NetScr1be
0

Sur les systèmes Windows, si l'écran de sortie a activé le mode d'édition rapide (par configuration), cliquez simplement sur l'écran et sélectionnez n'importe quelle partie de l'écran. Le programme arrêtera l'exécution jusqu'à ce que vous cliquiez avec le bouton droit sur l'écran pour désélectionner. L'écran peut perdre le focus et il restera figé jusqu'à ce que vous reveniez et faites un clic droit dessus. Attention, tout contenu du Presse-papiers, le cas échéant, peut être retourné sur cet écran lorsque vous faites un clic droit dessus.

agcala
la source