标题: [系统相关] 如何用批处理为指定类型的文件添加右键菜单 [打印本页]
作者: 0428_hai 时间: 2011-11-8 22:33 标题: 如何用批处理为指定类型的文件添加右键菜单
需求如下:
为.java文件添加右键菜单,菜单如下图所示
编译该文件(命令为"D:\Program Files\a.bat" "%1")
编译并执行该文件(命令为"D:\Program Files\a.bat" "%1" flag)
这个需求在 文件夹选项>文件类型 选项卡中,可以手工添加,也能达到目的,但是如何用批处理来实现这个效果呢?
作者: 920168 时间: 2011-11-9 10:32
--=-=-==-=-=-==-=前辈-=-=-===- reg add "HKEY_CLASSES_ROOT\.java\shell\编译\command" /ve /d "\"D:\Program Files\a.bat\" \"%%1\"" /f
- reg add "HKEY_CLASSES_ROOT\.java\shell\编译并执行\command" /ve /d "\"D:\Program Files\a.bat\" \"%%1\" flag" /f
复制代码
作者: 0428_hai 时间: 2011-11-10 00:37
运行这段代码后,注册表已经成功插入相应键值,但是右击java文件,依旧没有这两个命令啊。
作者: 920168 时间: 2011-11-10 09:01
本帖最后由 920168 于 2011-11-10 09:06 编辑
杀软阻止了????
你K掉explorer.exe
然后再start explorer.exe
作者: 0428_hai 时间: 2011-11-10 15:16
运行批处理时的确有杀软阻止,但我已放过了啊。倒是没重启explorer,晚上试试看
作者: powerbat 时间: 2011-11-10 17:01
- @echo off
- for /f "delims=" %%a in ('assoc .java') do set %%a
- reg.exe add "hkcr\.%java%\shell\编译\command" /ve /d "\"D:\Program Files\a.bat\" \"%%1\"" /f
- reg.exe add "hkcr\%.java%\shell\编译并执行\command" /ve /d "\"D:\Program Files\a.bat\" \"%%1\" flag" /f
- pause
复制代码
作者: CrLf 时间: 2011-11-10 17:05
回复 3# 0428_hai
刷新一下注册表看看修改后的键值还在不?有时候可能是某些“智能”的软件锁定了注册表项
作者: 0428_hai 时间: 2011-11-10 19:16
刷新注册表,重启explorer依旧无效
作者: powerbat 时间: 2011-11-10 19:44
- @echo off
- for /f "delims=" %%a in ('assoc .java') do set %%a
- if not defined .java (set ".java=javafile" & assoc .java=javafile)
- reg.exe add "hkcr\%.java%\shell\编译\command" /ve /d "\"D:\Program Files\a.bat\" \"%%1\"" /f
- reg.exe add "hkcr\%.java%\shell\编译并执行\command" /ve /d "\"D:\Program Files\a.bat\" \"%%1\" flag" /f
- pause
复制代码
作者: 0428_hai 时间: 2011-11-10 21:28
9#兄台的方法貌似是可行的啊。。。。
这是什么原理呢?
.java不可以,而设置与之相关联的键值才可以?
作者: 920168 时间: 2011-11-11 10:55
回复 10# 0428_hai
关联文件!
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |