Tastaturkürzel zum Einfügen von Inhalten aus der Zwischenablage in das Eingabeaufforderungsfenster (Win XP) [geschlossen]


303

Gibt es eine Tastenkombination zum Einfügen des Inhalts der Zwischenablage in ein Eingabeaufforderungsfenster unter Windows XP (anstatt die rechte Maustaste zu verwenden)?

Das typische Shift+ Insertscheint hier nicht zu funktionieren.



Tun Sie sich selbst einen Gefallen, lesen Sie die Antwort auf dieser Seite. Strg-V und vieles mehr.
Bdumtish

2
@pylover im Jahr 2015 behoben .
Franck Dernoncourt

1
@pylover Andernfalls können Sie für <10 einen Zwischenablage-Manager verwenden . (Natürlich stimme ich zu, dass es lächerlich ist, dass cmd nicht Strg + C auf <10 hat)
Franck Dernoncourt

4
@pylover Schade um Microsoft, im Jahr 2016 müssen wir die Maus verwenden, um in Bash einzufügen, obwohl das Menü behauptet, dass Strg + V eingefügt wird.
Michael

Antworten:


162

Ich persönlich verwende ein kleines AutoHotkey- Skript, um bestimmte Tastaturfunktionen für das von mir verwendete Konsolenfenster (CMD) neu zuzuordnen:

; Redefine only when the active window is a console window 
#IfWinActive ahk_class ConsoleWindowClass

; Close Command Window with Ctrl+w
$^w::
WinGetTitle sTitle
If (InStr(sTitle, "-")=0) { 
    Send EXIT{Enter}
} else {
    Send ^w
}

return 


; Ctrl+up / Down to scroll command window back and forward
^Up::
Send {WheelUp}
return

^Down::
Send {WheelDown}
return


; Paste in command window
^V::
; Spanish menu (Editar->Pegar, I suppose English version is the same, Edit->Paste)
Send !{Space}ep
return

#IfWinActive 

Dieses Zeug stört Cygwin, wenn es in einem ConsoleWindow ausgeführt wird. Ich war begeistert von diesem Tipp, musste ihn aber leider deinstallieren.
Piyo

2
@piyo: Vielleicht kannst du die Cygwin-Konsole durch ihre Titelleiste ausschließen? Beispiel: Wenn in der Titelleiste der Konsole "ConsoleWindow" angezeigt wird, können Sie etwas wie WinGetTitle sTitle \ n hinzufügen. If (sTitle = "ConsoleWindow") {\ n return \ n} \ n ---
PabloG

Gute Idee. (+1) Ja, das würde funktionieren, wenn sich die Fenstertitel nicht ändern. Ich habe das Gefühl, dass ich mehr Kontrolle über den Fenstertitel in Cygwin habe, sodass ich möglicherweise statischen, aber unsichtbaren Hinweistext für die AHK-Filterung hinzufügen kann.
Piyo

@piyo: Cygwin Mintty (kein X beteiligt) ist so schöner für eine Cygwin-Shell ...
Paulo Scardine

1
HowToGeek schlägt "SendInput {Raw}% clipboard%" anstelle von alt-space ep vor. Dann werden Sie auch das Flackern los
Vegar Westerlund

428

Ja .. aber umständlich. Verknüpfung

alt+ Space, e, k<- für das Kopieren und
alt+ Space, e, p<- für Paste.


18
Nicht genau das, was ich mir erhofft hatte, aber natürlich funktioniert es. Einige zusätzliche Tipps: Wenn Sie ALT + SPACE Ihrem Anwendungsstarter zugeordnet haben (z. B. Launchy), verwenden Sie stattdessen ALT-SHIFT-SPACE. Wenn Sie eine nicht englische Version von Windows verwenden, unterscheiden sich die letzten beiden Tasten natürlich (z. B. B. + E für Paste in Deutsch)
sme

4
Nur um die Auswahl zu erklären: ALT + LEERTASTE + E + K <- zum Kopieren. und navigieren Sie mit den Pfeilen Umschalt + Rechtspfeil <- nach oben, unten, links, rechts, um den Text ALT + LEERTASTE + E + P <- zum Einfügen auszuwählen.
Yordan Georgiev

6
zu komplex, ich habe nicht genug Finger, um diesen Job zu machen
Pylover

5
Ich finde diese Antwort am nützlichsten und direktesten. Die Tastenfolge schockiert mich nicht, da es Emacs Akkordfolgen gibt, die noch schlimmer sind. Tatsächlich reicht die Fenstermenü-Verknüpfung Alt + Leertaste aus, um zu verstehen, was als Nächstes zu drücken ist, da visuelles Feedback (unterstrichene Zeichen) vorhanden ist.
Acelent

2
Für französische Fenster: [Alt] + [Leerzeichen], [m], [c] zum Kopieren, [Alt] + [
Leerzeichen

137

Nicht wirklich programmierbezogen, aber ich habe dies bei Google gefunden. Es gibt keine direkte Tastenkombination , aber es geht etwas schneller.

So aktivieren oder deaktivieren Sie den QuickEdit-Modus:

  1. Öffnen Sie das MS-DOS-Programm oder die Eingabeaufforderung.
  2. Klicken Sie mit der rechten Maustaste auf die Titelleiste und drücken Sie Eigenschaften.
  3. Wählen Sie die Registerkarte Optionen.
  4. Aktivieren oder deaktivieren Sie das Kontrollkästchen QuickEdit-Modus.
  5. Drücke OK.
  6. Wählen Sie im Dialogfeld Eigenschaften auf Verknüpfung anwenden die Option Eigenschaften auf aktuelles Fenster anwenden nur aus, wenn Sie die QuickEdit-Einstellung nur für diese Sitzung dieses Fensters ändern möchten, oder wählen Sie Verknüpfung ändern, mit der dieses Fenster gestartet wurde, um die QuickEdit-Einstellung für alle zukünftigen Aufrufe von zu ändern die Eingabeaufforderung oder das MS-DOS-Programm.

QuickEdit

So kopieren Sie Text, wenn QuickEdit aktiviert ist:

  1. Klicken und ziehen Sie den Mauszeiger über den gewünschten Text.
  2. Drücken Sie die Eingabetaste (oder klicken Sie mit der rechten Maustaste auf eine beliebige Stelle im Fenster), um den Text in die Zwischenablage zu kopieren.

So fügen Sie Text ein, wenn QuickEdit aktiviert ist:

  1. Klicken Sie mit der rechten Maustaste auf eine beliebige Stelle im Fenster.

So kopieren Sie Text, wenn QuickEdit deaktiviert ist:

  1. Klicken Sie mit der rechten Maustaste auf die Titelleiste, drücken Sie im Menü auf Bearbeiten und dann auf Markieren.
  2. Ziehen Sie die Maus über den zu kopierenden Text.
  3. Drücken Sie die Eingabetaste (oder klicken Sie mit der rechten Maustaste auf eine beliebige Stelle im Fenster), um den Text in die Zwischenablage zu kopieren.

So fügen Sie Text ein, wenn QuickEdit deaktiviert ist:

  1. Klicken Sie mit der rechten Maustaste auf die Titelleiste, drücken Sie im Menü auf Bearbeiten und dann auf Einfügen.

14
Wir sprechen über Tastaturkürzel.
Pylover

11
Rechtsklick scheint mir ziemlich kurz
Jay Sullivan

19
Wenn Sie Ihre Hand von der Tastatur zur Maus bewegen, wird sie als "ziemlich kurz" disqualifiziert.
Ross Presser

Hey, das ist cool. So verwende ich es: Ich habe auf meinem Desktop eine Verknüpfung zu cmd.exe erstellt und dann mit der rechten Maustaste darauf geklickt, um sie an die Taskleiste anzuheften. Löschen Sie dann die Verknüpfung vom Desktop. Dann klicke ich mit der rechten Maustaste darauf Task bat, klicken Sie erneut mit der rechten Maustaste, wenn cmd angezeigt wird, und wählen Sie Eigenschaften. Ich gehe zu Advanced und sage ihm, dass er als Administrator ausgeführt werden soll. Klicken Sie dann auf OK, wählen Sie die Registerkarte "Optionen" und aktivieren Sie QuickEdit wie hier beschrieben. Und Voila, dies ist dann IMMER aktiviert, damit das Einfügen durch Klicken mit der rechten Maustaste auf die Eingabeaufforderung erfolgen kann, wenn ich das schwarze CMD-Symbol in der Taskleiste verwende.
SDsolar

35

Danke Pablo, genau das, wonach ich gesucht habe! Wenn ich mir jedoch die Freiheit nehmen kann, Ihr Skript leicht zu verbessern, schlage ich vor, Ihr ^ V-Makro durch Folgendes zu ersetzen:

; Use backslash instead of backtick (yes, I am a C++ programmer).
#EscapeChar \

; Paste in command window.
^V::
StringReplace clipboard2, clipboard, \r\n, \n, All
SendInput {Raw}%clipboard2%
return

Der Vorteil der Verwendung von SendInput ist, dass

  • Das Systemmenü der Eingabeaufforderung verfügt nicht über einen Menüpunkt "Alt + Leertaste E P", um das Einfügen durchzuführen (funktioniert für Englisch und Spanisch, jedoch nicht für alle Sprachen).
  • Es vermeidet das unangenehme Flackern, das beim Erstellen und Zerstören des Menüs auftritt.

Beachten Sie, dass es wichtig ist, "{Raw}" in den SendInput-Befehl aufzunehmen, falls die Zwischenablage zufällig "!", "+", "^" Oder "#" enthält.

Beachten Sie, dass StringReplace verwendet wird, um überschüssige Windows-Wagenrücklaufzeichen zu entfernen. Danke Hugov für diesen Vorschlag!


2
gut, Verbesserungen sind immer willkommen!
PabloG

1
Ausgezeichnet! Die Standardantwort flackerte im Popup-Menü, was ärgerlich war
Eugene Burmako

danke, dieser gibt ctrl-vin der Konsole ein "natives" Gefühl
jettico

Wenn ich drücke, wird ctrl+ves richtig eingefügt, aber es beginnt auch mit der Ausführung der Zeichenfolge (es ist, als würde enteres danach gedrückt). Wie kann ich das verhindern?
LoMaPh

18

Es gibt auch ein großartiges Open-Source-Tool namens Clink , das cmd um viele Funktionen erweitert. Eine davon ist die Möglichkeit, mit Strg + V Text einzufügen.


Die meisten Funktionen von Clink sind großartig, aber es bricht eine nützliche Funktion IMO. Die automatische Vervollständigung von cmd.exe durchläuft Dateien. clink's zeigt eine Liste an, wenn mehrere Dateien mit demselben Namen beginnen. Bei langen Dateinamen, die mit demselben Namen beginnen, hat cmd.exe eine bessere automatische Vervollständigung.
ChaimG


8

Hier ist ein kostenloses Tool, das dies unter Windows erledigt. Ich ziehe es einem Skript vor, da es einfach einzurichten ist. Es läuft als schnelle native App, funktioniert unter XP und höher und verfügt über Konfigurationseinstellungen, mit denen Kopier- / Einfüge- / Auswahlschlüssel für Befehlsfenster neu zugeordnet werden können:

Geben Sie hier die Bildbeschreibung ein

Außerdem kenne ich die Entwickler.


4

Die einfachste Methode besteht darin, den Text, den Sie einfügen möchten, in cmd zu kopieren und cmd zu öffnen. Gehen Sie zu "Eigenschaften" ---> Registerkarte "Option" ----> Aktivieren Sie das Kontrollkästchen "QuickEdit-Modus" und klicken Sie auf " ok "..... jetzt können Sie beliebigen Text aus der Zwischenablage einfügen, indem Sie mit der rechten Maustaste klicken Maustaste .

Danke dir..


4

Vielen Dank, Pablo, dass Sie sich auf das AutoHotkey-Dienstprogramm bezogen haben. Da ich Launchy installiert habe, das Alt+ verwendet, musste Spaceich es ändern, aber den ShiftSchlüssel wie gezeigt hinzufügen :

; Paste in command window
^V::
; Spanish menu (Editar->Pegar, I suppose English version is the same, Edit->Paste)
Send !+{Space}ep
return

3

Dies ist nicht wirklich eine Verknüpfung, sondern nur ein schneller Zugriff auf das Steuerungsmenü: Alt-Space EP

Wenn Sie Ihre Maus verwenden können, funktioniert ein Rechtsklick auf das cmd-Fenster als Einfügen, als ich es ausprobiert habe.


Ja, Rechtsklick funktioniert gut, aber das versuche ich zu vermeiden.
sme

Es stellt sich heraus, dass vier Tastenanschläge die Hand zur Maus bewegen. Diese Lösung gewinnt auch, weil sie auf jedem Computer einsatzbereit ist.
Nick

3

Theoretisch verfügt die Anwendung in DOS Prompt über eine eigene Zwischenablage und Verknüpfungen. Das Importieren von Text aus der Windows-Zwischenablage ist "extra". Sie können jedoch Alt-Space verwenden, um das Systemmenü des Eingabeaufforderungsfensters zu öffnen, und dann E, P drücken, um das Menü Bearbeiten, Einfügen auszuwählen. MS könnte jedoch eine Verknüpfung mit Win-Key bereitstellen. Es besteht keine Möglichkeit, in DOS-Anwendungen verwendet zu werden.


1
Nur als Randnotiz: Wenn Sie das cmd über eine RDP-Verbindung sehen, ist es Alt-Del anstelle von Alt-Space.
Bowi

2

Ich habe eine Weile gebraucht, um herauszufinden, warum Ihr AutoHotkey- Skript bei mir nicht funktioniert:

; Use backslash instead of backtick (yes, I am a C++ programmer).
#EscapeChar \

; Paste in command window.
^V::
StringReplace clipboard2, clipboard, \r\n, \n, All
SendInput {Raw}%clipboard2%
return

Tatsächlich hängt es von Tastenanschlägen und folglich vom Tastaturlayout ab! Wenn Sie also wie ich das Pech haben, nur eine AZERTY-Tastatur zu haben, funktioniert Ihr Vorschlag einfach nicht. Und schlimmer noch, ich fand keine einfache Möglichkeit, die SendInput-Methode zu ersetzen oder ihre Umgebung zu verdrehen, um dies zu beheben. Zum Beispiel sendet SendInput "1" einfach nicht Ziffer 1.

Ich musste jedes Zeichen in seinen Unicode verwandeln, damit es auf meinem Computer funktioniert:

#EscapeChar \

; Paste in command window.
^V::
StringReplace clipboard2, clipboard, \r\n, \n, All
clipboard3 := ""
Loop {
    if (a_index>strlen(clipboard2))
     break 
    char_asc := Asc(SubStr(clipboard2, a_Index, 1))   
    if (char_asc > 127 and char_asc < 256)
     add_zero := "0"
    else
     add_zero := "" 
    clipboard3 :=  clipboard3  . "{Asc " .  add_zero . char_asc . "}"
}
SendInput %clipboard3%
return

Nicht sehr einfach ...


2

Wenn Sie den Zwischenablage-Manager Ditto (Open Source, kostenlos) verwenden, können Sie einfach die Verknüpfung zum Einfügen aus Ditto verwenden, und die Zwischenablage wird für Sie in CMD eingefügt.

Geben Sie hier die Bildbeschreibung ein


1

Sie könnten versuchen, Texter zu verwenden und etwas Unwahrscheinliches zu erstellen, wie:

./p, ausgelöst durch Leerzeichen und Ersetzen des Textes durch% c

Ich habe es gerade getestet und es funktioniert gut. Das einzige Problem ist die Verwendung einer seltenen Sequenz, da Texter dies nicht auf nur cmd beschränken kann.

Es gibt wahrscheinlich andere Dienstprogramme dieser Art, die funktionieren könnten, und sogar AutoHotKey , auf dem Texter basiert, könnte es besser machen, aber Texter ist einfach :-)


1

Eine einfachere Möglichkeit ist die Verwendung von Windows Powershell anstelle von cmd. es funktioniert gut mit texter.




1

Wenn Sie ein Cygwin-Benutzer sind, können Sie Folgendes an Ihre ~ / .bashrc-Datei anhängen:

stty lnext ^q stop undef start undef

Und das Folgende zu Ihrer ~ / .inputrc-Datei:

"\C-v": paste-from-clipboard
"\C-C": copy-to-clipboard

Starten Sie Ihr Cygwin-Terminal neu.

(Beachten Sie, dass ich zum Kopieren ein Großbuchstaben C verwendet habe, da STRG + C auf den meisten Konsolen der Pausenfunktion zugewiesen ist. Nach Geschmack würzen.)

Quelle


1

Anstelle von "Rechtsklick" ... starten Sie Ihre Sitzung (sobald Sie sich im Eingabeaufforderungsfenster befinden), indem Sie Alt / Leertaste drücken. Dadurch wird das Menü des Eingabeaufforderungsfensters geöffnet und Sie sehen Ihre bekannten, unterstrichenen Tastenkombinationen für Tastaturbefehle, genau wie in der Windows-Benutzeroberfläche.

Viel Glück!


1

Ich habe die Schritte von @ PabloG wie folgt befolgt

  1. gehe zu http://www.autohotkey.com/ - autohotkey herunterladen
  2. Befolgen Sie die einfachen Installationsschritte
  3. Erstellen Sie nach der Installation eine neue * .ahk-Datei wie folgt: Klicken Sie mit der rechten Maustaste auf Desktop> Neu> Autohotkey-Skript> giveAnyFileName.ahk
  4. Klicken Sie mit der rechten Maustaste auf diese Datei> Bearbeiten
  5. Kopieren Einfügen Autohotkey-Skript von @PabloG in seiner Antwort gegeben
  6. speichern und schließen
  7. Doppelklicken Sie auf die Datei, um sie auszuführen
  8. Fertig, jetzt sollten Sie in der Lage sein, Ctrl+ vzum Einfügen in die Eingabeaufforderung zu verwenden

-4

Unter der VISTA-Eingabeaufforderung: Klicken Sie auf das Systemsymbol. Wählen Sie im Menü die Standardeinstellungen. Auf der Registerkarte Optionen in der Gruppe Optionen habe ich "Schnellbearbeitungsmodus", "Einfügemodus" und "Automatisch vervollständigen" ausgewählt. Ich denke, dass "Schnellbearbeitungsmodus" ist es, was es funktioniert.

So fügen Sie an der Einfügemarke alles ein, was sich in der Zwischenablage befindet: Klicken Sie mit der rechten Maustaste. So kopieren Sie aus dem Befehlsfenster Wählen Sie diese Option aus, indem Sie die linke Maustaste gedrückt halten und den Zeiger über das zu kopierende Objekt ziehen. Klicken Sie nach der Auswahl mit der rechten Maustaste. Um an der Einfügemarke einzufügen, klicken Sie erneut mit der rechten Maustaste.


8
Welchen Teil von "anstatt die rechte Maustaste zu benutzen" verstehst du nicht;)
reiniero
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.