Como posso limpar a linha atual do prompt de comando do Windows?

63

Como posso limpar a linha atual no prompt de comando? (Estou usando o Windows 7.)

Freqüentemente, insiro um comando, o executo, obtenho muitas linhas de saída e desejo inserir outro comando. Mas antes de inserir o segundo comando, pressiono a tecla de seta para cima para revisar o primeiro comando e, em seguida, percebo que tenho que reter o espaço para 30 caracteres ou mais. (Não posso simplesmente pressionar novamente para obter uma linha vazia. Nem posso pressioná-la novamente.)

JellicleCat
fonte
O @myrddim tem isso, mas, tirando isso, algumas alternativas ruins continuam surgindo até que você tenha algo curto e segure o backspace. outro é fazer com que o comando seja um comando ou nome de arquivo inválido, ou melhor, um "'sdfd' não é reconhecido como um comando interno ou externo", então mova o cursor um pouco com a seta esquerda e toque em uma letra ou não e basta tocar em uma letra no final, bagunçar a entrada do cmd e pressionar ENTER, obter o erro e a próxima linha ficará em branco.
barlop
@ Barlop Essa é realmente uma solução alternativa ruim! É preciso apenas um pressionamento de tecla. Se você não puder usar a Escchave, poderá usar a AutoHotkey para simulá-la.
precisa saber é o seguinte

Respostas:

101

A Esctecla Escape ( ) limpará a linha de entrada.

Além disso, pressionar pressionará Ctrl+Co cursor para uma nova linha em branco. Isso pode ser útil, pois a entrada que você acabou de revisar permanece visível enquanto você digita o novo comando.

Myrddin Emrys
fonte
3
E se você quiser limpar a tela inteira, poderá usar o clscomando :)
iglvzx
8
Como uma observação lateral, no UNIX é ctrl+u.
0sh
2
O que seria relevante se a pergunta não fosse especificamente direcionada ao prompt de comando do Windows 7. :-) Além disso, acredito que isso seja específico do shell, pois tenho certeza de que alguns shells têm o mesmo comportamento do Windows ao pressionar Ctrl+C.
Myrddin Emrys
2
@MyrddinEmrys no Windows écls
CJ7
2
Nota: o CTRL+Ccomando também sairá de qualquer sessão de linha de comando que você estiver tendo, ou seja python, retornará ao ambiente de linha de comando.
Sexy Beast
15

Myyrddin cobriu Esce limpouCtrlC a entrada de comando atual e iniciou uma nova linha, respectivamente.

No entanto, também existem mais dois atalhos relacionados à limpeza da entrada atual no CMD: CtrlHomee CtrlEnd.

CtrlHomepermite limpar todos os caracteres na entrada de comando à esquerda do cursor .

CtrlEndfaz o mesmo para todos os caracteres à direita do cursor .

Ambos são bastante úteis e, uma vez internalizados e acostumados, podem acelerar bastante a edição no CMD.

Hashim
fonte
2
Eu não sabia sobre essas teclas; obrigado. Que você receba os votos positivos que você merece.
Myrddin Emrys
11
O mesmo aqui. Sendo acostumada com Bash, eu sempre quis isso. OP é meu salvador.
Uranusjr 25/07
Por curiosidade, quais são os equivalentes no Bash?
Hashim
11
Do bash (1): (Ctrl) + (X), (Rubout) é definido como uma linha de morte para trás ; ou seja, mate de volta para o início da linha; ou seja, o mesmo que (Ctrl) + (Home) no Windows CMD. "Rubout" pode ser Backspace ou Delete, então tente (Ctrl) + (X), (Backspace) e (Ctrl) + (X), (Excluir). Além disso, (Ctrl) + (U) é descartado em linha unix ; isto é, recuar do ponto de inserção (cursor) até o início da linha; ou seja, também é o mesmo que (Ctrl) + (Início). (Ctrl) + (K) é definido como kill-line ; ou seja, mate o texto do ponto de inserção até o final da linha; ou seja, o mesmo que (Ctrl) + (Fim) no Windows CMD.
Scott
11
Só para esclarecer: (Ctrl) + (U) é uma característica geral de longa data do Unix. Funciona em sistemas antigos, não Linux, não GNU e não bash; trabalha dentro  vi; funciona se você fizer  cat > file123. Os outros são específicos para a linha de comando do bash.
Scott