Wie kann ich die aktuelle Zeile der Windows-Eingabeaufforderung löschen?

63

Wie kann ich die aktuelle Zeile in der Eingabeaufforderung löschen? (Ich benutze Windows 7.)

Zu oft gebe ich einen Befehl ein, führe ihn aus, erhalte viele Ausgabezeilen und möchte dann einen anderen Befehl eingeben. Bevor ich den zweiten Befehl eingebe, drücke ich die Aufwärtspfeiltaste, um den ersten Befehl zu überprüfen. Dann muss ich die Rücktaste für etwa 30 Zeichen gedrückt halten. (Ich kann nicht einfach noch einmal drücken, um eine leere Zeile zu erhalten. Ich kann es auch nicht durch erneutes Drücken bekommen.)

JellicleCat
quelle
@myrddim hat es aber abgesehen davon, werden einige schlechte Alternativen immer wieder aufgegriffen, bis Sie etwas Kurzes haben und dann die Rücktaste gedrückt halten. Eine andere Möglichkeit ist, den Befehl als ungültigen Befehl oder Dateinamen zu kennzeichnen. Stattdessen wird "sdfd" nicht als interner oder externer Befehl erkannt. Bewegen Sie den Cursor also ein wenig mit dem Pfeil nach links und tippen Sie einfach auf einen Buchstaben oder nicht und Tippen Sie am Ende einfach auf einen Buchstaben, verfälschen Sie die cmd-Eingabe, drücken Sie dann die EINGABETASTE, erhalten Sie den Fehler, und die nächste Zeile ist leer.
Barlop
@barlop Das ist in der Tat ein schlechter Workaround! Es ist nur ein Tastendruck erforderlich. Wenn Sie den EscSchlüssel nicht verwenden können , können Sie ihn mit AutoHotkey simulieren.
Iglvzx

Antworten:

100

Die Escape- EscTaste ( ) löscht die Eingabezeile.

Durch Drücken von Ctrl+Cwird der Cursor auf eine neue, leere Zeile verschoben. Dies kann hilfreich sein, da die soeben überprüfte Eingabe sichtbar bleibt, während Sie den neuen Befehl eingeben.

Myrddin Emrys
quelle
3
Und wenn Sie den gesamten Bildschirm löschen möchten, können Sie den clsBefehl verwenden. :)
Iglvzx
8
Nebenbei bemerkt, unter UNIX ist es ctrl+u.
22.
2
Was relevant wäre, wenn die Frage nicht speziell an die Windows 7-Eingabeaufforderung gerichtet wäre. :-) Außerdem glaube ich, dass dies Shell-spezifisch ist, da ich ziemlich sicher bin, dass einige Shells dasselbe Verhalten haben wie Windows, wenn sie gedrückt werden Ctrl+C.
Myrddin Emrys
2
@MyrddinEmrys unter Windows ist escls
CJ7
2
Hinweis: Der CTRL+CBefehl beendet auch jede Befehlszeilensitzung, die Sie gerade haben python, und bringt Sie zurück in die Befehlszeilenumgebung.
SexyBeast
15

Myyrddin behandelt Escund löschtCtrlC die aktuelle Befehlseingabe und leitet jeweils eine neue Zeile ein.

Es gibt jedoch auch zwei weitere Verknüpfungen zum Löschen der aktuellen Eingabe in CMD: CtrlHomeund CtrlEnd.

CtrlHomeErmöglicht das Löschen aller Zeichen in der Befehlseingabe links vom Cursor .

CtrlEndDas Gleiche gilt für alle Zeichen rechts vom Cursor .

Beide sind recht nützlich und könnten, wenn sie erst einmal verinnerlicht und gewöhnt sind, die Bearbeitung in CMD um einiges beschleunigen.

Hashim
quelle
2
Ich wusste nichts über diese Tastenanschläge. Dankeschön. Mögest du die Stimmen bekommen, die du verdienst.
Myrddin Emrys
1
Hier gilt das gleiche. An Bash gewöhnt wollte ich schon immer. OP ist mein Retter.
Uranusjr
Was sind aus Neugier die Äquivalente in Bash?
Hashim
1
Ab Bash (1): (Strg) + (X), (Rubout) ist definiert als Rückwärts-Kill-Line ; dh töte rückwärts zum Zeilenanfang; Das heißt, dasselbe wie (Strg) + (Home) in Windows CMD. "Rubout" kann "Backspace" oder "Delete" sein. Versuchen Sie es mit (Strg) + (X), (Backspace) und (Strg) + (X), (Delete). Auch (Strg) + (U) ist Unix-Line-Discard ; dh vom Einfügepunkt (Cursor) zum Zeilenanfang rückwärts töten; dh auch dasselbe wie (Ctrl) + (Home). (Strg) + (K) ist definiert als Kill-Line ; dh töten Sie den Text von der Einfügemarke bis zum Ende der Zeile; Das heißt, dasselbe wie (Strg) + (Ende) in Windows CMD.
Scott
1
Um es klar auszudrücken: (Strg) + (U) ist ein langjähriges allgemeines Merkmal von Unix. Es funktioniert in alten Systemen, die kein Linux, kein GNU oder kein Bash sind. es funktioniert in  vi; es funktioniert, wenn du es tust  cat > file123. Die anderen sind spezifisch für die Bash-Befehlszeile.
Scott