如何在 Windows 10 中使用“Ctrl”键和“V”将“粘贴”到鼠标选择的目录而不是当前目录?

如何在 Windows 10 中使用“Ctrl”键和“V”将“粘贴”到鼠标选择的目录而不是当前目录?

如何在 Windows 10 中使用“Ctrl”键和“V”将“粘贴”到鼠标选择的目录而不是当前目录?

我想将行为更改为与上下文菜单“粘贴”相同。


添加了我期望的具体行为

我想要做的整个想法如下。将“K:\a.jpg”和“K:\b.jpg”剪切并粘贴到“L:\p\c”中

1. 选择多个图像文件

在K盘中,用鼠标选择“a.jpg”和“b.jpg”。

2.按住“Ctrl”键并按“X”进行剪切。

在驱动器 K 中,用鼠标选择“a.jpg”和“b.jpg”,按住“Ctrl”键并按“X”。

3. 移动到粘贴的目标目录

在移动到L盘正下方的“p”目录的同时,用鼠标选中其下方的“c”目录,此时当前目录即为“p”目录。

4. 按住“Ctrl”键并按“V”粘贴。

“a.jpg”和“b.jpg”将被粘贴到当前“p”目录中。

我想将此行为更改为“与上下文菜单粘贴相同的行为”。 具体来说,我想使用 AutoHotkey 的功能将“a.jpg”和“b.jpg”粘贴到用鼠标选择的“c”目录中。

答案1

您可以使用免费自动热键

以下脚本将为 Explorer 从剪贴板获取文件或文件夹,并将其复制到 Explorer 中当前选定的文件夹中。如果剪贴板包含文件夹,则内容文件夹已被复制。

#IfWinActive, ahk_exe explorer.exe          ; only for explorer

^v::                                        ; handle ctrl-v
selected = % Explorer_GetSelection()        ; get currently selected item in explorer as source ;*[test]
FileGetAttrib, attrselected, %selected%     ; get attributes of selected item
; check if source & target exist, are not equal, and target is a folder
if selected and clipboard and selected != clipboard and InStr("%attrselected%", "D")
{
  Loop, parse, clipboard, `n, `r
    FileCopy, %A_LoopField%, %selected%     ; copy source to target
}


Explorer_GetSelection() {
   WinGetClass, winClass, % "ahk_id" . hWnd := WinExist("A")
   if !(winClass ~= "(Cabinet|Explore)WClass")
      Return
   for window in ComObjCreate("Shell.Application").Windows
      if (hWnd = window.HWND) && (oShellFolderView := window.document)
         break
   for item in oShellFolderView.SelectedItems
      result .= (result = "" ? "" : "`n") . item.path
   if !result
      result := oShellFolderView.Folder.Self.Path
   Return result
}

安装 AutoHotKey 后,将上述文本放入一个.ahk文件中并双击进行测试。您可以通过右键单击托盘栏中的绿色 H 图标并选择退出来停止脚本。要让它在登录时运行,请将其放在 的启动组中
C:\Users\USER-NAME\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

有用的 AutoHotkey 文档:

相关内容