键盘快捷键将剪贴板内容粘贴到命令提示符窗口(Win XP)

时间:2008-09-25 07:31:37

标签: windows keyboard-shortcuts

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

典型的 Shift + Insert 似乎不适用于此。

21 个答案:

答案 0 :(得分:424)

是..但很尴尬。 Link

alt + Space e k < - 用于复制和
alt + Space e p < - 用于粘贴。

答案 1 :(得分:161)

我个人使用一个小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 

答案 2 :(得分:136)

与编程没有关系,但我在Google上找到了this没有直接的键盘快捷键,但会让它更快一点。

启用或禁用QuickEdit模式:

  1. 打开MS-DOS程序或命令提示符。
  2. 右键单击标题栏,然后按“属性”。
  3. 选择选项标签。
  4. 选中或取消选中QuickEdit Mode框。
  5. 按OK。
  6. 在“将属性应用于快捷方式”对话框中,仅当您希望仅更改此窗口的此会话的“快捷方式”设置时,才选择“将属性应用于当前窗口”,或选择“启动此窗口的修改快捷方式”以更改所有窗口的“快速编辑”设置。将来调用命令提示符或MS-DOS程序。
  7. QuickEdit

    要在启用QuickEdit时复制文本:

    1. 单击并将鼠标指针拖动到所需的文本上。
    2. 按Enter(或右键单击窗口中的任意位置)将文本复制到剪贴板。
    3. 在启用QuickEdit时粘贴文本:

      1. 右键单击窗口中的任意位置。
      2. 要在禁用QuickEdit时复制文本:

        1. 右键单击标题栏,按菜单上的“编辑”,然后按“标记”。
        2. 将鼠标拖到要复制的文本上。
        3. 按Enter(或右键单击窗口中的任意位置)将文本复制到剪贴板。
        4. 禁用QuickEdit时粘贴文本:

          1. 右键单击标题栏,按菜单上的“编辑”,然后按“粘贴”。

答案 3 :(得分:34)

感谢Pablo,正是我所寻找的!但是,如果我可以冒昧地改进你的脚本,我建议用以下内容替换你的^ 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的建议!

答案 4 :(得分:18)

还有a great open source tool called clink,它通过许多功能扩展了cmd。其中一个是能够使用ctrl + v插入文本。

答案 5 :(得分:14)

答案 6 :(得分:8)

Here是一款免费工具,可以在Windows上执行此操作。我更喜欢脚本,因为它很容易设置。它作为一个快速的原生应用程序运行,适用于XP及更高版本,具有允许重命名命令窗口的复制/粘贴/选择键的配置设置:

enter image description here

另外,我了解开发者。

答案 7 :(得分:4)

感谢Pablo提到AutoHotkey实用程序。 由于我安装的Launchy使用 Alt + Space ,我必须修改它,但要添加 Shift 键,如下所示:

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

答案 8 :(得分:4)

最简单的方法就是复制要在cmd中粘贴它的文本并打开cmd goto" properties" ---> "选项"标签---->检查(给刻度标记)" quickEdit模式"然后点击"确定" .....现在,您可以通过从鼠标右键单击来粘贴剪贴板中的任何文本。

谢谢..

答案 9 :(得分:3)

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

如果您可以使用鼠标,请在我尝试时右键单击cmd窗口作为粘贴。

答案 10 :(得分:3)

理论上,DOS Prompt中的应用程序有自己的剪贴板和快捷方式。从Windows剪贴板导入文本是“额外的”。但是,您可以使用Alt-Space打开提示窗口的系统菜单,然后按E,P选择编辑,粘贴菜单。但是,MS可以使用Win-key提供快捷方式。在DOS应用程序中没有机会使用。

答案 11 :(得分:2)

我花了一点时间弄清楚你的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。

我必须将每个角色都变成它的unicode才能让它在我的电脑上运行:

#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

不是很简单......

答案 12 :(得分:2)

如果您使用剪贴板管理器Ditto(开源,免费),您只需使用快捷方式从Ditto粘贴,它就会将剪贴板粘贴到CMD中。

enter image description here

答案 13 :(得分:1)

非常简单的解决方案可能是Console 2,重新定义密钥就可以了。

答案 14 :(得分:1)

我遵循@ PabloG的步骤如下

  1. 转到http://www.autohotkey.com/ - 下载autohotkey
  2. 遵循简单的安装步骤
  3. 安装后创建新的* .ahk文件,如下右键单击桌面&gt;新&gt; Autohotkey脚本&gt; giveAnyFileName.ahk
  4. 右键单击此文件&gt;修改
  5. @PabloG在答案中复制粘贴自动热键脚本
  6. 保存并关闭
  7. 双击文件以运行
  8. 现在完成您应该可以使用 Ctrl + v 在命令提示符下粘贴

答案 15 :(得分:1)

我最近发现命令提示符通过鼠标右键单击支持上下文菜单。您可以在此处找到更多详细信息:http://www.askdavetaylor.com/copy_paste_within_microsoft_windows_command_prompt.html

答案 16 :(得分:1)

如果您是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函数。尝试季节。)

Source

答案 17 :(得分:1)

而不是“右键单击”....通过键入Alt / SpaceBar来启动会话(一旦进入命令提示符窗口)。这将打开命令提示符窗口菜单,您将看到熟悉的带下划线的键盘命令快捷方式,就像在Windows GUI中一样。

祝你好运!

答案 18 :(得分:1)

更简单的方法是使用windows powershell而不是cmd。用texter很好。

答案 19 :(得分:1)

您可以尝试使用Texter并创建不太可能的内容:

./ p,由空格触发并用%c替换文本

我刚刚测试过,它运行正常。唯一的问题是使用罕见的序列,因为Texter不能将其限制为cmd。

可能有其他类似的实用工具可以工作,甚至AutoHotKey,构建Texter可以做得更好,但Texter很容易: - )

答案 20 :(得分:-4)

在VISTA命令提示符下: 单击系统图标 从菜单中选择默认值 在我有选项组的选项选项卡上 选择“快速编辑模式”,“插入模式”和“自动完成” 我认为“快速编辑模式”是它的工作原理。

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