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

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

典型的转变+插入在这里似乎不起作用。

345252 次浏览

是的. .但尴尬。链接

< p > alt + 空间 e, k & lt;——复制和< br > alt < / kbd > + 空间 e p & lt;——粘贴。

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

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

不是真正的编程相关,但我在谷歌上找到了没有直接的键盘快捷键,但使它更快一点。

启用/关闭快速kedit模式。

  1. 打开MS-DOS程序或命令提示符。
  2. 右键单击标题栏并按“属性”。
  3. 选择Options选项卡。
  4. 选中或取消选中“快速kedit模式”框。
  5. 按下OK。
  6. 在“将属性应用到快捷方式”对话框中,如果您希望仅为此窗口的此会话更改quickkedit设置,则选择“仅将属性应用到当前窗口”,或者选择“修改启动此窗口的快捷方式”,以更改命令提示符或MS-DOS程序的所有未来调用的quickkedit设置。

 quickkedit

当quickkedit启用时,复制文本:

  1. 单击并将鼠标指针拖动到所需文本上。
  2. 按Enter(或右键单击窗口中的任何位置)将文本复制到剪贴板。

在启用quickkedit时粘贴文本:

  1. 右键单击窗口中的任意位置。

当quickkedit被禁用时复制文本:

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

在禁用quickkedit时粘贴文本:

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

你可以尝试使用每人创建一些不太可能的东西,比如:

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

我刚刚测试了一下,它工作得很好。唯一的问题是使用一个罕见的序列,因为Texter不能限制这只是cmd。

可能还有其他类似的实用程序可以工作,甚至构建Texter的AutoHotKey也可以做得更好,但Texter很简单:-)

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

谢谢,巴勃罗,这正是我要找的!但是,如果我可以冒昧地稍微改进您的脚本,我建议用以下代码替换您的^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的建议!

谢谢,Pablo,为参考AutoHotkey实用程序。 由于我已经安装了使用Alt+空间的Launchy,我必须修改它,但添加转变键,如下所示:

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

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

我最近发现,命令提示符支持通过鼠标右键单击上下文菜单。你可以在这里找到更多细节:http://www.askdavetaylor.com/copy_paste_within_microsoft_windows_command_prompt.html

在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

不是很简单……

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

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

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

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

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

如果你使用剪贴板管理器同上(开源,免费),你可以简单地使用快捷方式从Ditto粘贴,它会在CMD中为你粘贴剪贴板。

enter image description here

如果您是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 .

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

好运!

最简单的方法是复制文本,你想把它粘贴在CMD和打开CMD去“属性”——>“选项”选项卡---->检查(给勾标记)“quickkedit模式”,点击“确定”.....现在你可以从剪贴板通过做右击从你的鼠标粘贴任何文本。

谢谢你!

在这里是一个免费的工具,可以在Windows上完成。与脚本相比,我更喜欢它,因为它易于设置。它作为一个快速本机应用程序运行,适用于XP及以上,具有配置设置,允许重新映射复制/粘贴/选择键的命令窗口:

enter image description here

另外,我了解开发者。