Gibt es eine Möglichkeit, zu verhindern, dass die aktuelle CMD-Eingabe durch einen leeren Verlaufsvorschlag gelöscht wird?

422
Hashim

Im CMD-Interpreter unter Windows Upersetzt die Pfeiltaste (↑) die aktuelle Eingabe (nicht sicher, was der genaue Begriff ist) durch Befehle im Befehlsverlauf. Befehle, die zuvor ausgeführt wurden.

Eine merkwürdige Besonderheit von CMD ist, dass in einer neuen Instanz, wenn in der Historie keine vorherigen Befehle vorhanden sind, das versehentliche Drücken der Aufwärts-Pfeiltaste die aktuelle Eingabe durch den letzten "Befehl" in der Historie ersetzt. nichts, im Wesentlichen die Eingabe löschen. Außerdem wird durch Drücken des DownPfeils (↓) nicht zum vorherigen Befehl zurückgekehrt, da eine normale Navigation durch den Befehlsverlauf möglich wäre. Stattdessen sind Sie jetzt wieder auf Platz eins mit einer leeren Eingabezeile. Wenn Sie den ersten Befehl einer neuen CMD-Instanz eingeben, wird die Aufwärts-Taste im Wesentlichen als "Clear Input" -Taste verwendet.

Dies scheint zwar ein relativ kleines Problem zu sein, das nur für das oben beschriebene sehr spezifische Szenario gilt, und ob es sich tatsächlich nur um eine seltsame Eigenart von CMD oder um einen tatsächlichen Fehler handelt, ich kann die Anzahl der Male in den letzten Tagen nicht zählen, in denen ich ' Ich habe versehentlich lange und komplizierte Befehle verloren, während Sie versuchten, erweiterte CMD-Funktionen zu erlernen, und es wäre schön, wenn es eine Lösung für dieses Problem gibt. Wer weiß, vielleicht handelt es sich tatsächlich um ein "Feature, nicht um einen Fehler", und dass es einem tatsächlichen Designzweck dient, das ich vermisst habe. Auf jeden Fall würde ich etwas Erleuchtung schätzen.

Gibt es eine Möglichkeit, zu verhindern, dass die aktuelle CMD-Eingabe durch einen leeren Verlaufsvorschlag gelöscht wird?

Ein versehentliches Drücken der Aufwärts-Taste (↑) später ...

Gibt es eine Möglichkeit, zu verhindern, dass die aktuelle CMD-Eingabe durch einen leeren Verlaufsvorschlag gelöscht wird?

1
große Frage .. Ich denke, das muss auch mit mir passiert sein .. Ich habe nie wirklich versucht, eine Lösung dafür anzuwenden. Dies ist keine Antwort, aber manchmal lohnt es sich, Strg-C vor dem Aufstieg zu machen. oder wenn jemand anderes Ihren Bildschirm anzeigt oder Sie ihn kopieren / einfügen möchten, dann `::` oder `rem` vor dem Befehl und dann eingeben. Sie könnten es nur tun, wenn es leer ist .. (abgesehen von den 2./3. Aufsätzen), aber wenn Sie versehentlich getroffen werden, während Sie an der Befehlszeile Zeug haben, verlieren Sie das Zeug, ein toller Punkt. Es gibt einige Cmd-Ersetzungen, die Sie bevorzugen könnten, aber ich weiß nicht, ob sie das Problem beheben. barlop vor 7 Jahren 0
wieder nicht wirklich eine Antwort, aber es gibt auch F7, die Sie für die Befehlsgeschichte verwenden könnten. barlop vor 7 Jahren 0
@ barlop macht nichts in einer neuen cmd-Shell und speichert auch keinen Befehl, bis er ausgeführt wird. DavidPostill vor 7 Jahren 1
@DavidPostill Ich habe gerade F7 unter Windows 7 cmd.exe ausgeführt. Es macht a) ein GUI mit einer Liste von Befehlen und b) löscht nicht sofort das, was Sie eingegeben haben. Wenn Sie also F7 drücken und vielleicht sogar mit den Pfeiltasten navigieren, denken, aber nichts wählen und einfach die Escape-Taste drücken, haben Sie immer noch das, was Sie eingegeben haben. barlop vor 7 Jahren 0
@barlop OP bezieht sich auf eine "** eine frische Instanz, wenn es keine vorherigen Befehle in der Historie ** gibt" (wie zuvor mein Kommentar an Sie) DavidPostill vor 7 Jahren 1
@DavidPostill ok f7 tut dort nichts, aber das Ideal wäre, wenn es nichts tut (das ist, was man von Pfeil nach oben haben kann), da man nicht möchte, dass es etwas Zerstörerisches tut, und ein versehentlicher Treffer von F7 wird es tun kein Schaden in dieser Situation, da es nichts tut. Zugegeben, er fragt nach einem Aufwärtspfeil, aber es ist erwähnenswert, dass F7 dieselbe Art von Funktion ausführt, jedoch mit einem GUI, und es ist nicht das Problem, das, was auf der Befehlszeile steht, sofort zu ersetzen, wenn es versehentlich gedrückt wurde. barlop vor 7 Jahren 0
@ barlop Ja, er will den Pfeil nach oben in einem neuen Befehlsfenster hochstellen - ich nehme an, es ist einfacher, den Pfeil nach oben versehentlich zu treffen, als F7. DavidPostill vor 7 Jahren 0
@DavidPostill sagte ich also "nicht wirklich eine Antwort, aber es gibt auch f7". barlop vor 7 Jahren 0

2 Antworten auf die Frage

1
Dimblefeck

Sie könnten versuchen, Ihrer Umgebung Clink hinzuzufügen . Es hat eine Funktion "Verlaufsperre zwischen den Sitzungen" und aus meinem Test (ich habe einen langen Befehl eingegeben, habe ihn nicht ausgeführt, die Aufwärts-Taste gedrückt und dann die Abwärts-Taste gedrückt), wurde der zuletzt verwendete Befehl angezeigt und der lange Befehl wurde zurückgegeben. d getippt.

0
Fredrik Grini

Nicht viel damit zu tun, wenn wir die Funktionen der Dos-Konsole nicht ändern können, aber wenn ich lange Zeilen schreibe oder komplizierte Dinge schreibe, mache ich mir Notizen in einer Art Notizblock.

Willkommen bei Super User! Dies ist wirklich ein Kommentar und keine Antwort auf die ursprüngliche Frage. Sie können jederzeit Ihre eigenen Beiträge kommentieren. Sobald Sie über eine ausreichende [Reputation] (https://superuser.com/help/whats-reputation) verfügen, können Sie [Kommentar zu jedem Beitrag] (https: // superuser) machen. de / help / privileges / comment). Bitte lesen Sie [Warum brauche ich 50 Reputation, um einen Kommentar abzugeben? Was kann ich stattdessen tun?] (Https://meta.stackexchange.com/a/214174) DavidPostill vor 7 Jahren 1