Comment puis-je effacer la ligne actuelle de l'invite de commande Windows?

63

Comment puis-je effacer la ligne en cours dans l'invite de commande? (J'utilise Windows 7.)

Trop souvent, je saisis une commande, je l'exécute, j'ai plusieurs lignes de sortie, puis je souhaite entrer une autre commande. Mais avant d’entrer la deuxième commande, j’appuie sur la flèche vers le haut pour revoir la première commande, puis j’aperçois que je dois maintenir la touche Retour arrière pendant 30 caractères environ. (Je ne peux pas simplement appuyer à nouveau pour obtenir une ligne vide. Je ne peux pas l'obtenir en appuyant à nouveau.)

JellicleCat
la source
@myrddim l'a, mais à part cela, certaines solutions de rechange médiocres continuent à être exploitées jusqu'à ce que vous ayez quelque chose de court, puis retenez le retour arrière. faites en sorte que la commande soit une mauvaise commande ou un mauvais nom de fichier, ou plutôt, un "'sdfd' n'est pas reconnu comme une commande interne ou externe", alors déplacez le curseur un peu avec la flèche gauche et appuyez simplement sur une lettre ou non et appuyez simplement sur une lettre à la fin, bousillez l’entrée cmd, puis appuyez sur Entrée, obtenez cette erreur et la ligne suivante sera vide.
barlop
@barlop C'est effectivement une mauvaise solution de contournement! Cela ne prend qu'une frappe. Si vous ne pouvez pas utiliser la Escclé, vous pouvez utiliser AutoHotkey pour la simuler.
iglvzx

Réponses:

101

La Esctouche Echap ( ) efface la ligne de saisie.

De plus, appuyer sur Ctrl+Cdéplacera le curseur sur une nouvelle ligne vierge. Cela peut être utile car l'entrée que vous venez de réviser reste visible pendant que vous tapez la nouvelle commande.

Myrddin Emrys
la source
3
Et si vous souhaitez effacer tout l'écran, vous pouvez utiliser la clscommande. :)
iglvzx
8
En remarque, sous UNIX, c’est ctrl+u.
0sh
2
Ce qui serait pertinent si la question ne visait pas spécifiquement l'invite de commande de Windows 7. :-) En outre, je pense que cela est spécifique à un shell, car je suis raisonnablement certain que certains shell ont le même comportement que Windows lorsque vous appuyez sur Ctrl+C.
Myrddin Emrys
2
@MyrddinEmrys sous Windows, c'estcls
CJ7
2
Remarque: la CTRL+Ccommande quittera également toute session en ligne de commande que vous rencontrez, c'est python-à- dire , et vous ramènera à l'environnement de ligne de commande.
SexyBeast
15

Myyrddin couvert Escet CtrlCqui efface l'entrée de commande de courant et initier respectivement une nouvelle ligne.

Cependant, il existe également deux autres raccourcis liés à la suppression de l'entrée actuelle dans CMD: CtrlHomeet CtrlEnd.

CtrlHomevous permet d'effacer tous les caractères de la commande à gauche du curseur .

CtrlEndfait la même chose pour tous les caractères à droite du curseur .

Les deux sont assez utiles et, une fois internalisés et habitués, pourraient accélérer considérablement l'édition dans CMD.

Hashim
la source
2
Je ne savais pas à propos de ces frappes; Merci. Puissiez-vous avoir les votes positifs que vous méritez.
Myrddin Emrys le
1
Pareil ici. Étant habitué à Bash, j'ai toujours voulu cela. OP est mon sauveur.
uranusjr
Par curiosité, quels sont les équivalents dans Bash?
Hashim
1
De bash (1): (Ctrl) + (X), (Rubout) est défini comme étant la ligne suivante ; c'est-à-dire tuer en arrière au début de la ligne; C'est-à-dire identique à (Ctrl) + (Accueil) dans Windows CMD. «Rubout» peut être un retour arrière ou une suppression, essayez donc (Ctrl) + (X), (Retour arrière) et (Ctrl) + (X), (Supprimer). De plus, (Ctrl) + (U) est unix-line-discard ; c'est-à-dire tuer en arrière du point d'insertion (curseur) jusqu'au début de la ligne; c'est-à-dire aussi identique à (Ctrl) + (Accueil). (Ctrl) + (K) est défini comme étant la ligne à mort ; c'est-à-dire tuer le texte du point d'insertion jusqu'à la fin de la ligne; c'est-à-dire identique à (Ctrl) + (Fin) dans Windows CMD.
Scott
1
Soyons clairs: (Ctrl) + (U) est une fonctionnalité générale et ancienne d’Unix. Cela fonctionne dans les anciens systèmes non-Linux, non-GNU et non bash; cela fonctionne dans  vi; cela fonctionne si vous le faites  cat > file123. Les autres sont spécifiques à la ligne de commande bash.
Scott