是否有用于将剪贴板内容粘贴到 Windows XP 上的命令提示符窗口中的键盘快捷键(而不是使用鼠标右键)?
典型的Shift+Insert似乎在这里不起作用。
是否有用于将剪贴板内容粘贴到 Windows XP 上的命令提示符窗口中的键盘快捷键(而不是使用鼠标右键)?
典型的Shift+Insert似乎在这里不起作用。
是的。。但是很尴尬。关联
alt+ Space, e, k<-- 复制和
alt+ Space, e, p<-- 粘贴。
我个人使用一个小的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 的优点是
请注意,在 SendInput 命令中包含“{Raw}”很重要,以防剪贴板恰好包含“!”、“+”、“^”或“#”。
请注意,它使用 StringReplace 删除多余的 Windows 回车符。感谢hugov的建议!
还有一个很棒的开源工具,叫做 clink,它扩展了 cmd 的许多功能。其中之一是能够使用 ctrl+v 插入文本。
这是一个可以在 Windows 上执行此操作的免费工具。我更喜欢它而不是脚本,因为它很容易设置。它作为一个快速的本机应用程序运行,适用于 XP 及更高版本,具有允许重新映射命令窗口的复制/粘贴/选择键的配置设置:
另外,我认识开发人员。
感谢 Pablo 提到 AutoHotkey 实用程序。由于我安装了使用Alt+的 Launchy,因此Space我必须对其进行修改,但要添加Shift密钥,如下所示:
; Paste in command window
^V::
; Spanish menu (Editar->Pegar, I suppose English version is the same, Edit->Paste)
Send !+{Space}ep
return
最简单的方法就是将要粘贴的文本复制到 cmd 并打开 cmd 转到“属性”--->“选项”选项卡---->选中(打勾)“快速编辑模式”并单击“好的” .....现在您可以通过用鼠标右键单击来粘贴剪贴板中的任何文本。
谢谢..
这不是真正的快捷方式,而只是快速访问控制菜单:Alt-space EP
如果您可以使用鼠标,请在我尝试时右键单击 cmd 窗口作为粘贴。
理论上,DOS Prompt 中的应用程序有自己的剪贴板和快捷方式。从 Windows 剪贴板导入文本是“额外的”。但是您可以使用 Alt-Space 打开提示窗口的系统菜单,然后按 E、P 选择编辑、粘贴菜单。但是,MS 可以使用 Win 键提供快捷方式。没有机会在 DOS 应用程序中使用。
我花了一点时间才弄清楚为什么你的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
不是很简单...
我按照@PabloG的步骤如下
如果您使用剪贴板管理器Ditto(开源,免费),您可以简单地使用从 Ditto 粘贴的快捷方式,它会为您将剪贴板粘贴到 CMD 中。
您可以尝试使用Texter并创建一些不太可能的东西,例如:
./p ,由空格触发并用 %c 替换文本
我刚刚测试了它,它工作正常。唯一的问题是使用罕见的序列,因为 Texter 不能将其限制为 cmd。
可能还有其他这种类型的实用程序可以工作,甚至AutoHotKey,Texter 建立在它的基础上可以做得更好,但是 Texter 很容易:-)
更简单的方法是使用 windows powershell 而不是 cmd。它适用于文本器。
我最近发现命令提示符通过鼠标右键单击支持上下文菜单。您可以在此处找到更多详细信息:http ://www.askdavetaylor.com/copy_paste_within_microsoft_windows_command_prompt.html
非常简单的解决方案可能是Console 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 功能。根据口味调整。)
而不是“右键单击”....通过键入 Alt/空格键来启动您的会话(一旦您在命令提示符窗口中)。这将打开命令提示符窗口菜单,您将看到熟悉的带下划线的键盘命令快捷方式,就像在 Windows GUI 中一样。
祝你好运!
在 VISTA 命令提示下: 单击系统图标 从菜单中选择默认值 在选项组的选项选项卡上,我选择了“快速编辑模式”、“插入模式”和“自动完成” 我认为“快速编辑模式”是什么使它工作。
要在插入点粘贴剪贴板中的任何内容:右键单击。从命令窗口复制 通过按住鼠标左键并将指针拖动到要复制的内容上进行选择 选择后,单击鼠标右键 要粘贴到插入点,再次单击鼠标右键。