是否存在用于将剪贴板内容粘贴到Windows XP上的命令提示符窗口(而不是使用鼠标右键)的键盘快捷键?
典型的Shift+ Insert似乎在这里不起作用。
是否存在用于将剪贴板内容粘贴到Windows XP上的命令提示符窗口(而不是使用鼠标右键)的键盘快捷键?
典型的Shift+ Insert似乎在这里不起作用。
Answers:
我个人使用一些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
是的..但是很尴尬。链接
alt+ Space,e,k< -用于复制和
alt+ Space,e,p< -用于粘贴。
并不是真正的编程相关,但是我在Google上发现了这一点,它没有直接的键盘快捷键,但是使它更快一些。
谢谢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的优点是
请注意,在剪贴板恰好包含“!”,“ +”,“ ^”或“#”的情况下,在SendInput命令中包括“ {Raw}”非常重要。
注意,它使用StringReplace删除多余的Windows回车符。感谢hugov的建议!
ctrl-v
控制台带来了一种“本土”的感觉
ctrl+v
它时,它会正确粘贴,但也会开始执行字符串(就像enter
之后按下一样)。我该如何预防?
还有一个很棒的开源工具clink,它通过许多功能扩展了cmd。其中之一是能够使用ctrl + v插入文本。
在Windows 10上,可以启用Ctrl+ C和Ctrl+ V在命令提示符下工作:
最简单的方法就是将要粘贴的文本复制到cmd中,然后打开cmd转到“属性” --->“选项”选项卡---->选中(给定刻度)“ quickEdit mode”,然后单击“确定” ...现在,您可以通过用鼠标右键单击从剪贴板粘贴任何文本。
谢谢..
我花了一些时间才弄清楚为什么您的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
不是很简单
您可以尝试使用Texter并创建类似以下内容的内容:
./p,由空格触发并用%c替换文本
我刚刚测试了它,效果很好。唯一的陷阱是使用稀有序列,因为Texter不能将其限制为仅cmd。
可能还有其他这类实用程序可以使用,甚至在Texter所基于的AutoHotKey上也可以做得更好,但是Texter很容易:-)
我最近发现命令提示符通过右键单击支持上下文菜单。您可以在此处找到更多详细信息:http : //www.askdavetaylor.com/copy_paste_within_microsoft_windows_command_prompt.html
我遵循@PabloG的步骤如下
在VISTA命令提示符下:单击系统图标,从菜单中选择“默认值”。在选项组的“选项”选项卡上,我选择了“快速编辑模式”,“插入模式”和“自动完成”,我认为是“快速编辑模式”是什么使它起作用。
要将剪贴板中的所有内容粘贴到插入点:右键单击。从命令窗口中进行复制通过按住鼠标左键并在要复制的对象上拖动指针进行选择。选择后,右键单击。若要粘贴到插入点,请再次单击鼠标右键。