在Windows XP上,是否有快捷键可以将剪贴板的内容粘贴到命令提示符窗口中(而不是使用鼠标右键)?

典型的Shift+Insert在这里似乎不起作用。


当前回答

我个人使用一个小的AutoHotkey脚本来重新映射某些键盘功能,对于我使用的控制台窗口(CMD):

; 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 

其他回答

一个更简单的方法是使用windows powershell而不是cmd。它的工作很好与文本。

谢谢,巴勃罗,这正是我要找的!但是,如果我可以冒昧地稍微改进您的脚本,我建议用以下代码替换您的^V宏:

; 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

使用SendInput的优点是

它不依赖于命令提示系统菜单中有“Alt+Space E P”菜单项来进行粘贴(适用于英语和西班牙语,但不适用于所有语言)。 它避免了你在创建和销毁菜单时看到的讨厌的闪烁。

注意,在SendInput命令中包含“{Raw}”是很重要的,以防剪贴板碰巧包含“!”,“+”,“^”或“#”。

注意,它使用StringReplace删除多余的Windows回车字符。谢谢hugov的建议!

如果您是Cygwin用户,可以将以下内容附加到~/。bashrc文件:(

stty lnext ^q stop undef start undef

并将以下内容发送到您的~/。inputrc文件:

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

重新启动Cygwin终端。

(注意,我使用大写的C表示复制,因为在大多数控制台中CTRL+ C被分配给break函数。根据个人口味调味。)

我按照@PabloG的步骤进行了如下操作

去http://www.autohotkey.com/ -下载autohotkey 遵循简单的安装步骤 安装后创建新的*。> new > Autohotkey Script > giveAnyFileName.ahk 右键单击这个文件>编辑 在他的回答中复制粘贴@PabloG给出的autohotkey脚本 保存并关闭 双击文件运行 现在你应该可以在命令提示符中使用Ctrl+v进行粘贴了

这不是一个真正的快捷方式,但只是一个快速访问控制菜单:Alt-space E P

如果你可以使用你的鼠标,右键单击cmd窗口作为粘贴时,我尝试了它。