无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 296|回复: 19
打印 上一主题 下一主题

[讨论] 关于右键增加复制文件路径的讨论

[复制链接]
跳转到指定楼层
1#
发表于 昨天 16:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
论坛里关于右键增加复制文件路径的讨论很多,大致有以下几种方法:1、调用系统shell32.dll,缺点是路径两端有双引号,优点是支持多个文件同时获取路径;2、vbscript方式,优点是没有双引号,缺点是不支持多文件获取路径;3、cmd方式,优点是没有双引号,缺点是有黑窗口(是不是支持多文件没测试);4、第三方软件,比如nircdm(不支持多文件复制路径),还有什么path copy copy(功能很强大,英文版,非单文件,)等等
很久以前,xp时代,我找到一个dll文件,直接注册就可以增加右键复制路径的菜单,但是不支持64位系统。前几天看到下面的软件,win10LTSC_x64下安装测试,很不错,支持多文件、无双引号,跟踪了下,就两个文件,一个dll一个cpl,pe下把文件复制到对应目录,导入注册表,却没有什么效果,换了个系统测试、跟踪、导入还是这样。又尝试直接在pe下安装跟踪,软件直接报错,不支持安装,换了几个pe都这样,很无奈。


现在把软件发出来,大家看看,欢迎讨论,有更好的方案也请分享。

附件.7z (384.08 KB, 下载次数: 12)

附件里面包括:1、xp时代的pathcopyEx.dll,有人能改成支持64位嘛?2、CopyPathExt_Setup.exe,大家测试跟踪下;3、我跟踪出来的文件
2#
发表于 昨天 16:41 来自手机 | 只看该作者
为啥不要引号呢?有引号保险哇?

点评

很多时候不需要引号啊  详情 回复 发表于 昨天 16:47
回复

使用道具 举报

3#
 楼主| 发表于 昨天 16:47 | 只看该作者
窄口牛 发表于 2024-11-4 16:41
为啥不要引号呢?有引号保险哇?

很多时候不需要引号啊
回复

使用道具 举报

4#
发表于 昨天 16:56 | 只看该作者
标记以方便后续学习
回复

使用道具 举报

5#
发表于 昨天 17:08 | 只看该作者
[HKEY_CLASSES_ROOT\*\shell\复制路径\command]
@="mshta.exe vbscript:createobject(\"wscript.shell\").run(\"cmd /c ECHO %1|CLIP\",0)(window.close)"
这样没有双引号,也没有黑窗口

点评

vbscript方式不支持多文件同时获取路径  详情 回复 发表于 昨天 17:10
回复

使用道具 举报

6#
 楼主| 发表于 昨天 17:10 | 只看该作者
hlowld 发表于 2024-11-4 17:08
[HKEY_CLASSES_ROOT\*\shell\复制路径\command]
@="mshta.exe vbscript:createobject(\"wscript.shell\"). ...

vbscript方式不支持多文件同时获取路径

点评

然而人家的核心使用的是cmd, 只是使用mshta调用以防止出现黑窗口罢了  详情 回复 发表于 昨天 17:31
回复

使用道具 举报

7#
发表于 昨天 17:24 | 只看该作者
一个是1.0版,一个是2.1,都是32位版本。注册表正确,两个效果相同。

点评

关键是正常的win64系统安装有效,提取跟踪出来的pe64下无效,不知道什么原因啊  详情 回复 发表于 昨天 17:32
回复

使用道具 举报

8#
发表于 昨天 17:31 | 只看该作者
很多程序浏览框输入框带引号就报错,带引号只是编写代码方便,用户很不方便。
再说下,一般用户不需要同时复制多条路径,这个也是大师们的特殊需要。
还有那个黑框框,如果每个菜单都是这样估计你早就问候3哥了
所以一般用户需求就是:复制一条路径,不带引号,不要黑框框,就行了。
我们是一般用户就不折腾了,你们折腾好了我在看下。
回复

使用道具 举报

9#
发表于 昨天 17:31 | 只看该作者
wjgyz740526 发表于 2024-11-4 17:10
vbscript方式不支持多文件同时获取路径

然而人家的核心使用的是cmd, 只是使用mshta调用以防止出现黑窗口罢了

点评

刚没细看后面的代码,看到vbscript以为一样的,他这个还真是cmd方式,但应该不支持多文件  详情 回复 发表于 昨天 17:50
回复

使用道具 举报

10#
发表于 昨天 17:31 | 只看该作者
单为了实现快捷复制文件路径的话,使用Everything更加方便,快速搜索到文件后右键就可以复制完整路径了,还支持多选。
回复

使用道具 举报

11#
 楼主| 发表于 昨天 17:32 来自手机 | 只看该作者
c2y 发表于 2024-11-4 17:24
一个是1.0版,一个是2.1,都是32位版本。注册表正确,两个效果相同。

关键是正常的win64系统安装有效,提取跟踪出来的pe64下无效,不知道什么原因啊
回复

使用道具 举报

12#
发表于 昨天 17:41 | 只看该作者
謝謝大大分享~感恩 ^^ 有您真好~!辛苦了!
回复

使用道具 举报

13#
 楼主| 发表于 昨天 17:50 来自手机 | 只看该作者
Bluebells 发表于 2024-11-4 17:31
然而人家的核心使用的是cmd, 只是使用mshta调用以防止出现黑窗口罢了

刚没细看后面的代码,看到vbscript以为一样的,他这个还真是cmd方式,但应该不支持多文件
回复

使用道具 举报

14#
发表于 昨天 18:01 | 只看该作者
发一个我自己在用的cmd复制名称和路径,mshta调用避免黑窗口
reg add "HKEY_CLASSES_ROOT\*\shell\复制路径\command" /ve /t REG_SZ /d "mshta.exe vbscript:createobject(\"wscript.shell\").run(\"cmd /c ECHO %%1^|CLIP\",0)(window.close)" /f

reg add "HKEY_CLASSES_ROOT\*\shell\复制名称\command" /ve /t REG_SZ /d "mshta.exe vbscript:createobject(\"wscript.shell\").run(\"cmd /c for %%%%F in (\"\"%%1\"\") do ECHO %%%%~nxF^|CLIP\",0)(window.close)" /f
适合放在批处理中执行,如果要在命令行窗口执行,需将%%替换为%
回复

使用道具 举报

15#
发表于 昨天 19:08 | 只看该作者
附件中的那个什么 CopyPath Ext 需要 .Net Framework2.0 组件, 绝大多数 WinPE 都不会集成这个
PS: 一些巨无霸 WinPE 会集成 .Net Framework

点评

难怪呢,我想起来了你说的是对的 我跟踪的时候,系统是报告在clr_2.0文件夹有写入动作  详情 回复 发表于 昨天 19:33
回复

使用道具 举报

16#
 楼主| 发表于 昨天 19:33 来自手机 | 只看该作者
Bluebells 发表于 2024-11-4 19:08
附件中的那个什么 CopyPath Ext 需要 .Net Framework2.0 组件, 绝大多数 WinPE 都不会集成这个
PS: 一些巨 ...

难怪呢,我想起来了你说的是对的

我跟踪的时候,系统是报告在clr_2.0文件夹有写入动作
回复

使用道具 举报

17#
发表于 昨天 19:47 | 只看该作者
瞧一瞧
回复

使用道具 举报

18#
发表于 昨天 20:08 | 只看该作者
从不喜欢此功能. 因为地址栏可替代.
回复

使用道具 举报

19#
发表于 昨天 20:20 | 只看该作者
正常来说还是需要有引号的,cli下的路径往往都需要引号
回复

使用道具 举报

20#
发表于 昨天 20:49 | 只看该作者
从不喜欢此功能. 因为地址栏可替代
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-5 04:49

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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