Board logo

标题: [已结]请教:bat制作鼠标右键菜单直接提取文件地址 [打印本页]

作者: qianxu     时间: 2009-11-6 19:29    标题: [已结]请教:bat制作鼠标右键菜单直接提取文件地址

[已结]请教:关于bat制作鼠标右键菜单项直接提取对应文件地址的问题。

工作当中,例如用Word或记事本写一份有关某一个本地文件的帮助说明,经常需要往自己的Word或记事本文件粘贴一些本地文件的路径地址,

   例如要粘贴图片文件:   c:\windows\直角三角形.jpg
   例如要粘贴影音文件:   d:\学校常用\球体的运动轨迹.mpg
   例如要粘贴可执行文件: e:\工具软件\题库.exe
   等等很多各种类型的文件。。。。。。

每次都要先用鼠标在对应文件上点鼠标右键—>属性—>位置,最头疼的是在“文件位置”当中只显示这个文件的上一级路径地址,
例如上面举例中的路径地址只显示:
                                    c:\windows\
                                    d:\学校常用\
                                    e:\工具软件\
                                    。。。

所以,没办法每次都是先复制下来这些文件的上一级路径地址,再把这些文件对应的文件名(直角三角形.jpg、球体的运动

轨迹.mpg、题库.exe。。。。)手工补上去,感觉真的非常麻烦。

本人在这里虚心向各位高手请教,可不可利用bat写成一个鼠标右键菜单添加语句,使我们在所要查看完整路径地址的文件

(各种类型的文件)点击鼠标右键菜单中的一个“查看当前文件完整路径”的菜单项,并且直接以记事本格式(记事本内已

经自动写好对应文件的完整路径)迅速打开的方式呢?


这个问题困扰了我们好久,希望能够得到这里的老师们帮助,在这里先谢谢各位了。

[ Last edited by qianxu on 2009-11-8 at 04:48 ]
作者: HAT     时间: 2009-11-6 22:30
Total Commander 里面有个快捷按钮实现此功能,个人认为非常方便。
作者: qianxu     时间: 2009-11-7 00:48


  Quote:
Originally posted by HAT at 2009-11-6 22:30:
Total Commander 里面有个快捷按钮实现此功能,个人认为非常方便。

如果借助“HAT老师”所说的第三方软件,那么操作步骤又会多了几步,倒不如用鼠标右键菜单“一击显示路径”来得快些。
作者: everest79     时间: 2009-11-7 03:16

reg add HKCR\*\shell\CopyPath\Command /ve /d "mshta vbscript:clipboarddata.setdata("""text""","""%1""")(close)"

作者: HAT     时间: 2009-11-7 10:40
在我的日常工作、学习中,已经用 Total Commander 代替系统自带的资源管理器了。我也经常需要复制文件的完整路径:
1、选中某文件
2、点击那个快捷图标

我个人比较不喜欢点右键,可能是 Total Commander 用的时间比较长的缘故:)
作者: xswdong     时间: 2009-11-7 12:41


  Quote:
Originally posted by everest79 at 2009-11-7 03:16 AM:
reg add HKCR\*\shell\CopyPath\Command /ve /d "mshta vbscript:clipboarddata.setdata("""text""","""%1""")(close)"

我的xp3,并没有复制路径到剪贴板,什么原因?
作者: qianxu     时间: 2009-11-7 13:24


  Quote:
Originally posted by everest79 at 2009-11-7 03:16:
reg add HKCR\*\shell\CopyPath\Command /ve /d "mshta vbscript:clipboarddata.setdata("""text""","""%1""")(close)"

按照“everest79老师”的方法试过了,鼠标右键菜单中有对应菜单显示项,可是点击“CopyPath”菜单项,在记事本或Word文档中“粘贴”的时候,却是什么内容也没有,莫非“对应文件的完整路径”复制到剪切板功能无效?

还请老师在百忙之中指点,谢谢。
作者: qianxu     时间: 2009-11-7 13:28


  Quote:
Originally posted by HAT at 2009-11-7 10:40:
在我的日常工作、学习中,已经用 Total Commander 代替系统自带的资源管理器了。我也经常需要复制文件的完整路径:
1、选中某文件
2、点击那个快捷 ...

谢谢“HAT老师”,只是有些时候还要给没安装Total Commander 的同志们做演示,所以没办法,实际需要,只能寻求个bat右键菜单来提取对应文件的完整路径了。
作者: HAT     时间: 2009-11-7 17:36    标题: Re 7楼

测试环境:WinXP SP3 中文企业版
测试结果:成功
作者: qianxu     时间: 2009-11-7 20:29
呵呵,至少在我现在使用的XP系统环境下,上面的代码是没有任何效果。

盼望能在windows不同版本的环境下有一个都能通过的版本。

希望老师们百忙之中帮忙,谢谢

[ Last edited by qianxu on 2009-11-7 at 20:30 ]
作者: jmz573515     时间: 2009-11-7 21:00
在“开始”——“运行”里输入就可以了,如果存成批处理的话应该把[%1]改成[%%1]
作者: qianxu     时间: 2009-11-7 21:17


  Quote:
Originally posted by jmz573515 at 2009-11-7 21:00:
在“开始”——“运行”里输入就可以了,如果存成批处理的话应该把[%1]改成[%%1]

非常感谢“jmz573515老师”的指点,问题终于解决了。


共同交流、共同进步。
作者: HAT     时间: 2009-11-8 18:17
下面是一个将剪贴板的内容写入文件的例子,你先自己尝试一下,如果有问题再讨论。
@echo off
call :GetClpText msg
echo %msg%
pause
goto :eof

:GetClpText
mshta vbscript:Execute("CreateObject(""Scripting.FileSystemObject"").CreateTextFile(""t"").Write ClipBoardData.GetData(""Text""):Close")
set /p %1=<t
del t
goto :eof

作者: qianxu     时间: 2009-11-8 19:57


  Quote:
Originally posted by HAT at 2009-11-8 18:17:
下面是一个将剪贴板的内容写入文件的例子,你先自己尝试一下,如果有问题再讨论。
[code]@echo off
call :GetClpText msg
echo %msg%
pause
goto :eof

:GetClpTex ...

报告“HAT老师”我这里测试没有通过  脚本错误提示:“没有权限”
作者: 200909doos     时间: 2009-12-12 21:26    标题: 哇,好用!

可惜现在才发现这么好的东东,之前我一直在用英文插件来辅助才能实现这功能。。。XP3系统实验,成功!!!
C:\Documents and Settings\Administrator\桌面\lei\bat增加鼠标右键菜单直接提取文件保存地址.txt   
多谢啦!!!!!