[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[注册表类] 批处理如何在文件或文件夹右键菜单加命令行入口的?

以前一直使用以下方法
倒也没有什么大问题
  1. reg add "HKCR\*\shell\命令行(&Z)\command" /ve /d cmd
  2. reg add "HKCR\Folder\shell\命令行(&Z)\command" /ve /d "cmd /k cd %L"
复制代码
前不久用起了everything
发现在everything文件列表中选中文件点右键选择命令行
总是切换当前目录到当前用户的配置文件路径下
而不是选定的文件路径下

初步分析了原因
似乎在everything中运行cmd
没有在exploer中的那种自动切换当前路径的特性
所以只好修改HKCR\*\shell\命令行(&M)\command中的空白值
想了想除了使用独立批处理找不到更好的办法
大家有什么高见?
天的白色影子

本帖最后由 tmplinshi 于 2011-6-17 23:38 编辑

我用的是 http://code.kliu.org/cmdopen/,安装后在空白处右键文件夹右键都有“打开命令提示符”菜单。

TOP

看起来是个第三方工具
这比批处理的方法走的更远了
我暂时不予考虑
天的白色影子

TOP

AllFileSystemObject 这个下面可能需要独立的批处理。。。

你文件和文件夹分开加的话,cmd  /d "%~dp1"不能用么?

刚下了个everything 1.2.1.371 protable,发现直接写cmd也无所谓。可以打开对应的文件夹下

TOP

本帖最后由 qzwqzw 于 2011-6-18 09:54 编辑

我用的是 V1.2.1.451a 内测版本
存在无法正常切换当前路径的问题

也试了官方下载的1.2.1.371版
确实表现的好一些
只是如果文件路径中含有中文字符
会切换到的文件所在盘的根目录

关于cmd  /d "%~dp1"
请你自行确认两个问题
cmd的/d开关的用途
shell命令行是否支持参数扩展
天的白色影子

TOP

我不明白%L为什么能代表当前路径?还有我在注册表里看到了%V,好像也是当前路径的意思,但是在cmd中就不存在这个参数,注册表究竟有哪些特殊参数,能否请知情人指点一下呢?

TOP

  1. HKEY_CURRENT_USER\Software\Classes\Folder\shell\CommandPrompt\command
  2. cmd /k cd %l
复制代码
HKEY_CURRENT_USER 换 HKEY_LOCAL_MACHINE 也可以
当然如果有unc路劲的话用 cmd /k pushd %l 才行

TOP

本帖最后由 tmplinshi 于 2011-6-18 15:50 编辑
我不明白%L为什么能代表当前路径?还有我在注册表里看到了%V,好像也是当前路径的意思,但是在cmd中就不存在这个参数,注册表究竟有哪些特殊参数,能否请知情人指点一下呢?
zm900612 发表于 2011-6-18 13:55

%L 不是 cmd 的参数,应该是 Shell (系统外壳) 的参数。

Google 搜索了下...

http://www.computing.net/answers ... arameter/19496.html

%L 表示长路径
%D 表示短路径
%1 根据系统的不同,可能是长路径,或短路径

但是似乎现在的系统中,这三个参数都一样了。

TOP

8# tmplinshi

Thanks,那%V呢?

TOP

%V应该不能被explorer转义
已知有特殊意义的有
%D %E %H %I %L %S %0 ~ %9 %*
天的白色影子

TOP

我用的是 V1.2.1.451a 内测版本
存在无法正常切换当前路径的问题

也试了官方下载的1.2.1.371版
确实表现的好一些
只是如果文件路径中含有中文字符
会切换到的文件所在盘的根目录

关于cmd  /d "%~dp1"
请 ...
qzwqzw 发表于 2011-6-18 09:53


随手一打。。。非要说清楚=。=

看来最新版对中文。。。不管啥菜单都会悲剧。。。唉。。。


cmd /k "set fpa=%1&&for %%i in (%fpa%) do @cd /d "%~dpi""


还有你的Z访问键能用么?在WIN7下,要写默认值,项的名字叫&Z没用。

TOP

直接用reg就可以解决了,不必第三方。手机上无法给代码,具体可以看“BatMPlayer”的右键菜单关联。
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

欣赏了兄的大作
可惜未从其中找到解题的信息
不知是否进一步提示一下?
天的白色影子

TOP

13# qzwqzw
算俺愚笨,你到底是要做什么?怎么个入口法?
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

其实是为了弥补Everything的右键菜单bug
在其列表文件的文件菜单中加入cmd的快捷启动菜单
点菜单后能打开cmd命令行窗口
并自动将cmd的当前路径切换到所选文件的目录下

原本在explorer中直接在注册表中添加cmd是没有问题的
可惜everything的新版本似乎不太支持这种形式
随意需要在注册表键值增加文件的目录信息以便可以切换当前路径
这个目录信息就是是不包含文件名的文件路径
但是注册表中不支持类似%~dp1的增强扩展
所以才发出以上的问题
天的白色影子

TOP

返回列表