Esiste una scorciatoia da tastiera per incollare il contenuto degli Appunti in una finestra del prompt dei comandi su Windows XP (anziché utilizzare il pulsante destro del mouse)?
Il tipico Shift+ Insertnon sembra funzionare qui.
Esiste una scorciatoia da tastiera per incollare il contenuto degli Appunti in una finestra del prompt dei comandi su Windows XP (anziché utilizzare il pulsante destro del mouse)?
Il tipico Shift+ Insertnon sembra funzionare qui.
Risposte:
Personalmente uso un piccolo script AutoHotkey per rimappare alcune funzioni della tastiera, per la finestra della console (CMD) che uso:
; 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
Sì .. ma imbarazzante. collegamento
alt+ Space, e, k<- per la copia e
alt+ Space, e, p<- per incollare.
Non proprio programmazione relativa, ma ho trovato questo su Google, non c'è una scorciatoia diretta di tastiera , ma lo rende un po 'più veloce.

Grazie Pablo, proprio quello che stavo cercando! Tuttavia, se posso prendermi la libertà di migliorare leggermente il tuo script, ti suggerisco di sostituire la tua macro ^ V con il seguente:
; 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
Il vantaggio di usare SendInput è quello
Nota, è importante includere "{Raw}" nel comando SendInput, nel caso in cui gli Appunti contengano "!", "+", "^" O "#".
Nota, utilizza StringReplace per rimuovere i caratteri di ritorno a capo di Windows in eccesso. Grazie hugov per quel suggerimento!
ctrl-va console un sentimento "nativo"
ctrl+vincolla correttamente, ma inizia anche a eseguire la stringa (è come se enterfosse premuto in seguito). Come posso impedirlo?
C'è anche un ottimo strumento open source chiamato clink , che estende cmd con molte funzionalità. Uno di questi è in grado di usare ctrl + v per inserire del testo.
Ecco uno strumento gratuito che lo farà su Windows. Lo preferisco a uno script in quanto è facile da configurare. Funziona come un'app nativa veloce, funziona su XP e versioni successive, ha impostazioni di configurazione che consentono di rimappare i tasti copia / incolla / selezione per le finestre dei comandi:
Inoltre conosco gli sviluppatori.
il metodo più semplice è solo copiare il testo che si desidera incollare in cmd e aprire cmd goto "proprietà" ---> scheda "opzione" ----> selezionare la "modalità di modifica rapida" (fare segno di spunta) e fare clic su " ok "..... ora puoi incollare qualsiasi testo dagli appunti facendo clic con il tasto destro del mouse.
Grazie..
Grazie, Pablo, per esserti riferito all'utilità AutoHotkey. Da quando ho installato Launchy che usa Alt+ Spaceho dovuto modificarlo ma per aggiungere la Shiftchiave come mostrato:
; Paste in command window
^V::
; Spanish menu (Editar->Pegar, I suppose English version is the same, Edit->Paste)
Send !+{Space}ep
return
Questa non è in realtà una scorciatoia, ma solo un rapido accesso al menu di controllo: Alt-space EP
Se è possibile utilizzare il mouse, fare clic con il pulsante destro del mouse sulla finestra cmd funziona come incolla quando l'ho provato.
Teoricamente, l'applicazione nel prompt di DOS ha i suoi appunti e le sue scorciatoie. L'importazione di testo dagli Appunti di Windows è "extra". Tuttavia è possibile utilizzare Alt-Spazio per aprire il menu di sistema della finestra Prompt, quindi premere E, P per selezionare Modifica, Incolla menu. Tuttavia, MS potrebbe fornire un collegamento usando il tasto Win. Non è possibile utilizzare l'applicazione DOS.
Mi ci è voluto un po 'di tempo per capire perché il tuo script AutoHotkey non funziona con me:
; 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
In realtà, si basa sui tasti e di conseguenza sul layout della tastiera! Quindi quando sei sfortunato ad avere solo una tastiera AZERTY, il tuo suggerimento non funziona. E peggio ancora, non ho trovato un modo semplice per sostituire il metodo SendInput o modificare il suo ambiente per risolvere il problema. Ad esempio SendInput "1" non invia la cifra 1.
Ho dovuto trasformare ogni personaggio nel suo unicode per farlo funzionare sul mio computer:
#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
Non molto semplice ...
Se usi il gestore degli appunti Ditto (open source, gratis), puoi semplicemente usare il collegamento per incollare da Ditto e incollerà gli appunti in CMD per te.
Puoi provare a utilizzare Texter e creare qualcosa di improbabile come:
./p, attivato dallo spazio e sostituendo il testo con% c
L'ho appena testato e funziona benissimo. L'unico gotcha è usare una sequenza rara, poiché Texter non può limitare questo a solo cmd.
Probabilmente ci sono altre utilità di questo tipo che potrebbero funzionare, e anche AutoHotKey , su cui è costruito Texter potrebbe farlo meglio, ma Texter è facile :-)
Recentemente ho scoperto che il prompt dei comandi ha il supporto per il menu di scelta rapida con il tasto destro del mouse. Puoi trovare maggiori dettagli qui: http://www.askdavetaylor.com/copy_paste_within_microsoft_windows_command_prompt.html
Se sei un utente Cygwin, puoi aggiungere quanto segue al tuo file ~ / .bashrc:
stty lnext ^q stop undef start undef
E quanto segue al tuo file ~ / .inputrc:
"\C-v": paste-from-clipboard
"\C-C": copy-to-clipboard
Riavvia il tuo terminale Cygwin.
(Nota, ho usato una C maiuscola per la copia, poiché CTRL + c è assegnato alla funzione di interruzione sulla maggior parte delle console. Stagione a piacere.)
Invece di "fare clic con il tasto destro" .... avviare la sessione (una volta che ci si trova nella finestra del prompt dei comandi) digitando Alt / SpaceBar. Questo aprirà il menu della finestra del prompt dei comandi e vedrai le tue scorciatoie da comando della tastiera, sottolineate, proprio come nella GUI di Windows.
In bocca al lupo!
Ho seguito i passaggi di @ PabloG come segue
Sotto il prompt dei comandi VISTA: fai clic sull'icona Sistema Seleziona valori predefiniti dal menu Nella scheda Opzioni del gruppo Opzioni Ho selezionato "Modalità modifica rapida", "Modalità inserimento" e "Completamento automatico" Penso che "Modalità modifica rapida" è ciò che lo fa funzionare.
Per incollare qualsiasi cosa sia negli Appunti nel punto di inserimento: fare clic con il tasto destro. Per copiare dalla finestra di comando Selezionare tenendo premuto il pulsante sinistro del mouse e trascinando il puntatore su ciò che si desidera copiare Una volta selezionato, fare clic con il pulsante destro del mouse Per incollare nel punto di inserimento, fare nuovamente clic con il pulsante destro del mouse.