右键实现复制文件路径

来源:互联网 发布:华为荣耀4x手机壳淘宝 编辑:程序博客网 时间:2024/05/22 03:17



右键实现复制文件路径 (2010-04-20 13:13:21)
来源: http://blog.sina.com.cn/s/blog_552ca88a0100ojea.html


有些时候,需要复制文件的完整路径。通常情况先要复制文件的所在路径,还要复制文件的名称。然后将这两部分合在一起,非常的麻烦。
也可以在地址栏使用自动实例功能来复制文件路径,不过也不够方便。
Directory Opus 9编辑菜单有复制文件名->路径和文件名功能。
如何让资源管理器里也提供此功能,比如右击文件可出复制路径功能。
方案一:用AHK解决
说明:选中欲复制路径的文件,按下快捷键Win+c,然后你就可以用Ctrl+v粘贴这个文件的完整路径了。
P.S:与TC兼容
以下是代码,很简单就不解释了,AHK程序自行去下载:
#c::
Clipboard =
Send,^c
ClipWait
path = %Clipboard%
Clipboard = %path%
Tooltip,%path%
Sleep,1000
Tooltip
Return
方案二:用nircmd辅助解决(比ahk要小些,当然不如ahk强大,不过应用还是不少的,这里只是抛砖引玉咯)
它是个小巧但很强大的命令行工具,这样获取文件路径就会方便很多。
官网:http://www.nirsoft.net/utils/nircmd.html 用法说明
下载:http://www.nirsoft.net/utils/nircmd.zip
建议只用nircmdc.exe(虽然运行时会有一个dos窗口),因为nircmd有杀毒软件报UnclassifiedMalware@98659830,不知道是不是其特殊性导致的
解压缩后如下D:\tools\nircmd\nircmdc.exe (个人不喜欢放到system32目录里)
编写一个nircmdc.vbs文件,此文件主要是用来实现不显示dos窗口,内容如下:
'作者:刘玉宽  2010-4-20 12:57
'邮箱:liuyukuan@msn.com
Dim Wsh
Set objArgs = WScript.Arguments
Set Wsh = WScript.CreateObject("WScript.Shell")
WScript.Sleep(0000)
Wsh.Run "D:\tools\nircmd\nircmdc.exe  clipboard set " & objArgs(0),0,True
'其中D:\tools\nircmd\要更改为你电脑上nircmdc.exe所在在的目录,若放到system32目录下可以不用前面的路径
Set Wsh=NoThing
WScript.quit
编写一个.reg文件,名字随意,内容如下,其中第6行和第12行的相应路径要改成你刚才的vbs文件实际路径,我的是放到D:\\tools\\nircmd\\:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\copypath]
@="复制文件路径"
[HKEY_CLASSES_ROOT\*\shell\copypath\command]
@="\"C:\\WINDOWS\\system32\\WScript.exe\" \"D:\\tools\\nircmd\\nircmdc.vbs\" \"%1\""
[HKEY_CLASSES_ROOT\Folder\shell\copypath]
@="复制文件夹路径"
[HKEY_CLASSES_ROOT\Folder\shell\copypath\command]
@="\"C:\\WINDOWS\\system32\\WScript.exe\" \"D:\\tools\\nircmd\\nircmdc.vbs\"  \"%1\""


注意:

1. 因为这些是在windows平台,请用记事本创建脚本文件,并编辑保存。请不要用notepad++或者其他的文本编辑器。因为windows的记事本默认为ansi编码,其他的编辑器大多都默认为UTF-8编码。而WScript引擎只识别ansi字符。请注意这一点。

2. 在win 7中,可能是由于UAC或者其他安全机制的关系,当nircmd.exe/nircmdc.exe放在system32目录下运行时,只有在资源管理器中复制路径是成功的,在total commander或其他(只试过total commander)程序中右键菜单中复制路径时,提示找不到可执行程序。因此还是不要放到system32目录下。




0 0
原创粉丝点击