找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 27483|回复: 8

[系统增强] cmd+clip实现右键菜单(Context menu)复制单文件/目录路径到剪贴板 for Win 7

[复制链接]
发表于 2016-10-23 15:17:36 | 显示全部楼层 |阅读模式
本帖最后由 aa77dd@163.com 于 2016-10-23 15:32 编辑

Win 7 系统下, 按住 Shift 键, 在文件/目录上右击的菜单中, 有一个

copy as path (中文系统: 复制为路径) 的功能, 此功能支持多个文件/目录对象, 无论路径中有无空格, 所有路径都会被加上双引号

path copy copy 是一个此功能的第三方工具, 有更大的扩展, 不用按住 Shift, 支持多文件/目录, 有许多选项可以自定义, 比如是否加双引号

如果不想安装 path copy copy 之类第三方工具, 也不需要同时复制多文件/目录的路径, 也不想要双引号,

cmd + clip 就能实现, 测试于 中文 Win 7 64 位

将下面批处理代码保存并运行, 安装选 S, 卸载选 D, 安装完成后, 批处理文件不需用到, 右键菜单出来后, 此功能的快捷键是 F

注册表中的功能实现命令是调用 cmd.exe 和 clip.exe 达成

  
  1. Windows Registry Editor Version 5.00 2> nul
  2. ; @echo off & cls & if "%~1"=="" (goto :choose) else goto :processPath
  3. [HKEY_CLASSES_ROOT\*\shell\CopyPathForSingleFile_Folder]
  4. @="copy path for single (&F)ile/Folder"

  5. [HKEY_CLASSES_ROOT\*\shell\CopyPathForSingleFile_Folder\command]
  6. @="cmd.exe /c <nul set /p "=%V"|clip"

  7. [HKEY_CLASSES_ROOT\Directory\Shell\CopyPathForSingleFile_Folder]
  8. @="copy path for single (&F)ile/Folder"

  9. [HKEY_CLASSES_ROOT\Directory\Shell\CopyPathForSingleFile_Folder\Command]
  10. @="cmd.exe /c <nul set /p "=%V"|clip"

  11. :processPath

  12. ;<nul set /p "=%*"|clip

  13. ;exit


  14. :choose
  15. ;echo;COPY PATH FOR SINGLE FILE/FOLDER
  16. ;echo;          S    SETUP
  17. ;echo;          D    DELETE
  18. ;<nul set /p "=Please choose:"
  19. ;call :GetKey
  20. ;echo;[%key%]

  21. ;if /i "%key%"=="s" goto :SetupMe
  22. ;if /i "%key%"=="d" goto :DeleteMe
  23. ;echo;choose error
  24. ;pause
  25. ;exit


  26. :SetupMe
  27. ;echo;Setup copy path for single file/folder ...
  28. ;regedit /s "%~f0"
  29. ;rem degug mode
  30. ;rem reg add "HKCR\*\shell\CopyPathForSingleFile_Folder\command" /ve /f /d "cmd.exe /k "%~f0" %%1"
  31. ;rem reg add "HKCR\*\shell\CopyPathForSingleFile_Folder\command" /ve /f /d "cmd.exe /c <nul set /p "=%%V"|clip"
  32. ;rem reg add "HKCR\Directory\Shell\CopyPathForSingleFile_Folder\command" /ve /f /d "cmd.exe /c <nul set /p "=%%V"|clip"
  33. ;echo;SETUP COMPLETE, PRESS ANY KEY TO EXIT...
  34. ;>nul pause
  35. ;exit


  36. :DeleteMe
  37. ;reg delete HKCR\*\shell\CopyPathForSingleFile_Folder /f
  38. ;reg delete HKCR\Directory\Shell\CopyPathForSingleFile_Folder /f
  39. ;echo;UNINSTALL COMPLETE, PRESS ANY KEY TO EXIT...
  40. ;>nul pause
  41. ;exit


  42. :GetKey
  43. ;set "key="
  44. ;for /F "usebackq delims=" %%L in (`xcopy /w . 2^>nul`) do (
  45. ;  if not defined key set "key=%%L"
  46. ;)
  47. ;set "key=%key:~-1%"
  48. ;exit /b
复制代码
或者只用其中包含的注册表脚本也可以安装
  1. Windows Registry Editor Version 5.00

  2. [HKEY_CLASSES_ROOT\*\shell\CopyPathForSingleFile_Folder]
  3. @="copy path for single (&F)ile/Folder"

  4. [HKEY_CLASSES_ROOT\*\shell\CopyPathForSingleFile_Folder\command]
  5. @="cmd.exe /c <nul set /p "=%V"|clip"

  6. [HKEY_CLASSES_ROOT\Directory\Shell\CopyPathForSingleFile_Folder]
  7. @="copy path for single (&F)ile/Folder"

  8. [HKEY_CLASSES_ROOT\Directory\Shell\CopyPathForSingleFile_Folder\Command]
  9. @="cmd.exe /c <nul set /p "=%V"|clip"
复制代码

评分

参与人数 1PB +6 技术 +1 收起 理由
523066680 + 6 + 1 感谢分享

查看全部评分

发表于 2016-10-23 16:44:26 | 显示全部楼层
+1























·
发表于 2016-10-23 17:03:29 | 显示全部楼层
人生苦短,我选择使用 Total Commander
发表于 2016-10-23 19:19:27 | 显示全部楼层
如果不能弹出窗口的话,应该会好很多。
发表于 2016-10-25 22:22:04 | 显示全部楼层
这图床的作者和我说流量根本用不完, 那还客气什么
你这字体典型的没开 平滑字体边缘

评分

参与人数 1技术 +1 收起 理由
aa77dd@163.com + 1 Thanks! Nice!

查看全部评分

 楼主| 发表于 2016-10-25 23:04:21 | 显示全部楼层
回复 5# Bella

亲分享的这图床, 我可真喜欢, 又好用, 域名也那么厉害, 太棒了,  
平滑字体边缘 这个效果, 我以前一直也不知道是啥样的, 刚刚才好好瞅了一下, 发现桌面上的文字有了阴影, 呵呵, 应该不止这一点儿吧, 哈哈

评分

参与人数 1技术 +1 收起 理由
Bella + 1 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2016-10-25 23:14:21 | 显示全部楼层
回复 6# aa77dd@163.com


    那是图标的标签阴影, 不纠结这个问题了, 哈哈
发表于 2019-8-25 15:57:12 | 显示全部楼层
用了楼主的脚本,就是会有个DOS窗口闪过,楼主能不能改良个VBS版的,这样就没窗口了,感谢楼主的大作
发表于 2021-7-20 00:15:15 | 显示全部楼层
只想问一句,win10能用吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 00:16 , Processed in 0.021665 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表