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.
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.
Antworten:
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
Ja .. aber umständlich. Verknüpfung
alt+ Space, e, k<- für das Kopieren und
alt+ Space, e, p<- für Paste.
Nicht wirklich programmierbezogen, aber ich habe dies bei Google gefunden. Es gibt keine direkte Tastenkombination , aber es geht etwas schneller.
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
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!
ctrl-v
in der Konsole ein "natives" Gefühl
ctrl+v
es richtig eingefügt, aber es beginnt auch mit der Ausführung der Zeichenfolge (es ist, als würde enter
es danach gedrückt). Wie kann ich das verhindern?
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.
Unter Windows 10 können Sie + und + aktivieren , um an der Eingabeaufforderung zu arbeitenCtrlCCtrlV :
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:
Außerdem kenne ich die Entwickler.
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..
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
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.
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.
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 ...
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.
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 :-)
Ich habe kürzlich festgestellt, dass die Eingabeaufforderung das Kontextmenü mit dem rechten Mausklick unterstützt. Weitere Informationen finden Sie hier: http://www.askdavetaylor.com/copy_paste_within_microsoft_windows_command_prompt.html
Ziemlich einfache Lösung kann Konsole 2 sein , Schlüssel neu definieren und los geht's.
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.)
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!
Ich habe die Schritte von @ PabloG wie folgt befolgt
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.