web-dev-qa-db-de.com

Tastaturkürzel zum Einfügen von Inhalten aus der Zwischenablage in das Eingabeaufforderungsfenster (Windows XP)

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+Insert scheint hier nicht zu funktionieren.

301
sme

Ich persönlich benutze 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 
161
PabloG

Ja .. aber umständlich. Link

alt + Spaceek <- für Kopie und
alt + Spaceep <- zum Einfügen.

424
Nescio

Nicht wirklich programmierbezogen, aber ich fand this bei Google, es gibt keine direkte Tastenkombination , macht es aber ein wenig 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 nur auf aktuelles Fenster anwenden 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 Sie 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 Text, den Sie kopieren möchten.
  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.
136
Rob Cooper

Danke Pablo, genau das, wonach ich gesucht habe! Wenn ich es mir jedoch erlauben 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 besteht darin, dass

  • es ist nicht darauf angewiesen, dass das Menü Eingabeaufforderung ein Menüelement "Alt + Leertaste E P" enthält, um das Einfügen durchzuführen (funktioniert für Englisch und Spanisch, jedoch nicht für alle Sprachen).
  • es vermeidet das unangenehme Flimmern, das Sie bekommen, wenn das Menü erstellt und zerstört wird.

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

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

34
Huw Walters

Es gibt auch ein großartiges Open-Source-Tool namens clink , das cmd um viele Funktionen erweitert. Eine davon ist die Verwendung von Strg + V zum Einfügen von Text.

18
sibbl
14

hier ist ein kostenloses Tool, das es unter Windows macht. Ich bevorzuge es einem Skript, da es einfach einzurichten ist. Es wird als schnelle native App ausgeführt und funktioniert mit XP und höher). Es verfügt über Konfigurationseinstellungen, mit denen Sie die Tasten zum Kopieren/Einfügen/Auswählen für Befehlsfenster neu zuordnen können:

enter image description here

Außerdem kenne ich die Entwickler.

8
c00000fd

Vielen Dank, Pablo, dass Sie sich auf das AutoHotkey-Dienstprogramm bezogen haben. Da habe ich Launchy installiert was nutzt Alt+Space Ich musste es aber ändern um es hinzuzufügen Shift Schlüssel wie gezeigt:

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

die einfachste Methode ist, einfach 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" (Häkchen setzen) und klicken Sie auf ". ok "..... jetzt können Sie beliebigen Text aus der Zwischenablage einfügen, indem Sie Rechtsklick von Ihrer Maus aus ausführen.

Danke..

4
Vignesh Viper

Theoretisch verfügt die Anwendung in DOS Prompt über eine eigene Zwischenablage und Verknüpfungen. Text aus der Windows-Zwischenablage zu importieren ist "extra". Sie können jedoch die Alt-Leertaste 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 gibt keine Möglichkeit, in DOS-Anwendungen verwendet zu werden.

3
i486

Dies ist keine wirkliche Abkürzung, sondern nur ein schneller Zugriff auf das Steuerungsmenü: Alt-Leertaste E P

Wenn Sie Ihre Maus benutzen können, funktioniert ein Rechtsklick auf das Cmd-Fenster als Paste, als ich es ausprobiert habe.

3
jop

Wenn Sie den Zwischenablage-Manager Ditto (Open Source, gratis) 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.

enter image description here

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 es leider bin, nur eine AZERTY-Tastatur haben, funktioniert Ihr Vorschlag einfach nicht. 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" nur die Ziffer 1 nicht.

Ich musste jeden Charakter in seinen Unicode verwandeln, damit er 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 ganz einfach ...

2
Djee

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

stty lnext ^q stop undef start undef

Und Folgendes in Ihre ~/.inputrc-Datei:

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

Starten Sie Ihr Cygwin-Terminal neu.

(Beachten Sie, dass ich beim Kopieren ein C in Großbuchstaben verwendet habe, da STRG + C auf den meisten Konsolen der Pausenfunktion zugewiesen ist. Nach Belieben.)

Quelle

1
U007D

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 Tastaturbefehlsverknüpfungen, genau wie in der Windows-Benutzeroberfläche.

Viel Glück!

1
Michael Scott

Ich habe kürzlich festgestellt, dass der Befehl Eingabeaufforderung das Kontextmenü über den rechten Mausklick unterstützt. Weitere Informationen finden Sie hier: http://www.askdavetaylor.com/copy_paste_within_Microsoft_windows_command_Prompt.html

1
Denis Vuyka

Eine einfachere Möglichkeit ist die Verwendung von Windows PowerShell anstelle von Cmd. Es funktioniert gut mit Texter.

1
ilcredo

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

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

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

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

1
njsf

Ziemlich einfache Lösung kann sein Konsole 2 , definieren Sie Schlüssel neu und Sie gehen.

1
BG Bruno

Ich bin @ PabloGs Schritten wie folgt gefolgt

  1. goto http://www.autohotkey.com/ - Autohotkey herunterladen
  2. folgen Sie den einfachen Installationsschritten
  3. erstellen Sie nach der Installation eine neue * .ahk-Datei, indem Sie mit der rechten Maustaste auf desktop> new> Autohotkey Script> giveAnyFileName.ahk klicken
  4. rechtsklick auf diese Datei> Bearbeiten
  5. kopieren Einfügen Autohotkey-Skript, das von @PabloG in seiner Antwort angegeben wurde
  6. speichern und schließen
  7. doppelklicken Sie auf die Datei, um sie auszuführen
  8. Fertig, jetzt sollten Sie in der Lage sein, zu verwenden Ctrl+v zum Einfügen in die Eingabeaufforderung
1
Pravin Waychal