Existe um atalho de teclado para pausar a saída de uma janela CMD enquanto está em execução?


14

Estou no meio da execução de um script em lote que está demorando muito tempo e cuja saída está passando rapidamente a um ritmo ilegível. Existe um atalho de teclado que permite pausar o console do CMD onde está atualmente para parar e ler a saída e, em seguida, reiniciá-lo novamente no mesmo local?

insira a descrição da imagem aqui


5
Sempre há CTRL-S. Em seguida, CTRL-Q para reiniciar.
BillP3rd

Você pode pegar a caixa de rolagem e movê-la para cima; isso efetivamente pausará a rolagem. Você pode pressionar a tecla de seta para baixo para ir para a parte inferior do buffer.
precisa

Não é esse o objetivo da tecla "Scroll Lock"?
TOOGAM 26/11

Respostas:


5

Não vi isso nas outras respostas.

Acredito que as seqüências de controle serial do 'Ctrl-S' XOFF e 'Ctrl-Q' XON são as principais sequências destinadas a resolver o problema.

Por favor, veja;

XON / XOFF


1
Alterei isso para melhor resposta por alguns motivos. A partir da pesquisa, a tecla Pause / Break, por si só, interrompe a saída, mas não a execução, da qual a outra resposta não menciona. Ctrl + Pause / Break deve ser usado para interromper a execução, e isso é um pouco mais complicado de digitar na maioria dos teclados que Ctrl + S e Ctrl + Q (pode ser feito apenas com a mão esquerda). Dito isto, Ctrl + Pause / Break tem a vantagem de que você não precisa se lembrar de duas combinações de teclas extras, portanto, ambas as respostas são boas, eu gostaria de ver este receber os votos positivos que merece.
Hashim

Observe que, embora essa resposta origine uma pergunta sobre Unix / Linux, as combinações de teclas funcionam bem no CMD.exe, pelo menos no meu sistema operacional Windows 7.
Hashim

1
@Hashim, obrigado por compartilhar sua pesquisa. Como você perguntou especificamente como pausar a saída , eu não considerei (nem testei) essa possibilidade, mas é bom saber disso. (Voto a favor)
Marc.2377

16

O seu teclado contém a Pause/Breaktecla? Seria bom para isso. Aqui está o que parece, ou pelo menos costumava:

Pausar chave de interrupção da Wikipedia

Como um bônus interessante, essa chave também pode ser usada durante o POST (Power On Self Test, que é executado quando o computador está ligado) para ler a saída do BIOS.

Se você não tiver essa chave, a combinação Control+ NumLockdeverá funcionar da mesma forma e existem outras opções, dependendo do fabricante, de acordo com a Wikipedia .

Para retomar a execução, pressione Enter.


Observe que em alguns teclados você pode ter uma tecla de bloqueio de rolagem específica (geralmente marcada ScrLk), que pode servir a um propósito semelhante.
precisa

@BurhanKhalid Bem, eu li sobre essa ligação que ele faz uma pausa de saída , mas não execução , e esse efeito parece não se aplicar a Windows consola MS ... mas legal saber, no entanto
Marc.2377

1
Com o ping, parece parar a execução. isso é muito estranho, já que o ping é um executável discreto. Além disso, quando pausado, o processo ping.exe permanece no Process Explorer até que seja permitido concluir. enquanto pausado, todos os seus threads entram Wait:Executivee não parecem pulsar periodicamente. Fascinante.
Frank Thomas

2
Outro truque que eu gosto de usar é marcar algum texto com o mouse (eu sempre tenho o modo de edição rápida ativado). Isso interrompe a saída (e, portanto, a execução, já que um programa que grava em stdout espera até que o fluxo seja gravado) também.
ths 14/11

1

Você pode usar o comando "more". Embora não seja exatamente o que você está procurando, limitará a saída da tela por uma página.


1
Essa é a melhor solução, pois a pausa na saída no momento certo é praticamente impossível, dada a velocidade com que a saída é geralmente produzida. Para esclarecimentos, você deve usar um canal após o seu comando, seguido de MAIS. Por exemplo, NETSH HTTP SHOW SSLCERT | MAIS
Vincent

O Windows não possui 'mais' nativo
KumarAnkit

1

Adicionando mais uma maneira útil para shells linux . (Mas talvez ok no Windows também, tente!)

Pressionar ctrl+z interromperá o programa. (Mensagem: parada)

Para executá-lo novamente em seu estado anterior, como se estivesse em pausa:

Tipo fg

Ou para uso múltiplo: program_name_previously_ctrl + z_stopped `fg


0

Existem alguns outros métodos aqui para adicionar, se estivermos sendo minuciosos:

1) Além do botão Pausar / Interromper, você pode duplicar sua funcionalidade usando "CTRL + C".

Isso fará com que o script cmd seja pausado e perguntará se você deseja finalizá-lo. Quando terminar de procurar, você pode selecionar "NÃO" (ou talvez sim, se for o seu agrado) e continuará (Ou sair, se você escolher sim).

2) Você também pode fazer uma pausa usando o mouse clicando no cursor do mouse na janela para selecionar o texto no terminal CMD.

Você deve ter notado essa saída em pausa no passado e pensava apenas que a saída estava atrasada; no entanto, quando os scripts estão sendo executados em instâncias interativas do cmd, você na verdade está pausando a execução do código (o mesmo que em "Pausar / Interromper" e "CTRL Métodos + C ").

No entanto, quando a janela perde o foco ou você clica para cancelar a pausa, a execução do código continuará e você não terá a opção de finalizar o código dessa maneira.


Uau, vocês são jovens. Nunca usou terminais seriais? Tente Ctrl-s / Ctrl-Q
NetScr1be

O software de emulador de terminal geralmente implementa o suporte XOFF / XON como uma função básica. Isso geralmente inclui o console do sistema em modernas máquinas Unix e Linux, bem como emuladores de GUI como o xterm e o console do Win32.
NetScr1be 7/03/2019

0

Nos sistemas Windows, se a tela de saída tiver ativado o Modo de Edição Rápida (por Configuração), basta clicar na tela e selecionar qualquer parte da tela. O programa interromperá a execução até você clicar com o botão direito na tela para desmarcar. A tela pode perder o foco e continuará congelada até você voltar e clicar com o botão direito do mouse. Lembre-se de que qualquer conteúdo da área de transferência, se houver, pode ser virado nessa tela quando você clica com o botão direito do mouse.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.