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

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


当前回答

很简单的解决方案可能是控制台2,重新定义键。

其他回答

如果您是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函数。根据个人口味调味。)

在VISTA命令提示下: 单击系统图标 从菜单中选择默认值 在选项组的选项选项卡上 选择“快速编辑模式”、“插入模式”和“自动完成” 我想是“快速编辑模式”让它起作用的。

要在插入点粘贴剪贴板中的任何内容:右键单击。 从命令窗口复制 通过按住鼠标左键并将指针拖过要复制的内容进行选择 选中后,右击 若要在插入点粘贴,请再次右击。

我花了一点时间来弄清楚为什么你的AutoHotkey脚本不适合我:

; 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

事实上,它依赖于击键,因此也依赖于键盘布局! 所以当你像我一样不幸只有AZERTY键盘时,你的建议就行不通了。更糟糕的是,我发现没有简单的方法来替换SendInput方法或扭曲它的环境来修复这个问题。例如SendInput "1"不发送数字1。

我必须把每个字符都转换成统一码,才能在我的电脑上使用:

#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

不是很简单……

在Windows 10中,你可以在命令提示符中启用Ctrl + C和Ctrl + V:

还有一个很棒的开源工具叫做clink,它扩展了cmd的许多特性。其中之一就是能够使用ctrl+v插入文本。