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

[系统相关] 如何用批处理为指定类型的文件添加右键菜单

需求如下:
为.java文件添加右键菜单,菜单如下图所示
编译该文件(命令为"D:\Program Files\a.bat" "%1")
编译并执行该文件(命令为"D:\Program Files\a.bat" "%1" flag)
这个需求在 文件夹选项>文件类型 选项卡中,可以手工添加,也能达到目的,但是如何用批处理来实现这个效果呢?

--=-=-==-=-=-==-=前辈-=-=-===
  1. reg add "HKEY_CLASSES_ROOT\.java\shell\编译\command" /ve /d "\"D:\Program Files\a.bat\" \"%%1\"" /f
  2. reg add "HKEY_CLASSES_ROOT\.java\shell\编译并执行\command" /ve /d "\"D:\Program Files\a.bat\" \"%%1\" flag" /f
复制代码
http://www.diecasting86.com

TOP

运行这段代码后,注册表已经成功插入相应键值,但是右击java文件,依旧没有这两个命令啊。

TOP

本帖最后由 920168 于 2011-11-10 09:06 编辑

杀软阻止了????
你K掉explorer.exe
然后再start explorer.exe
http://www.diecasting86.com

TOP

运行批处理时的确有杀软阻止,但我已放过了啊。倒是没重启explorer,晚上试试看

TOP

  1. @echo off
  2. for /f "delims=" %%a in ('assoc .java') do set %%a
  3. reg.exe add "hkcr\.%java%\shell\编译\command" /ve /d "\"D:\Program Files\a.bat\" \"%%1\"" /f
  4. reg.exe add "hkcr\%.java%\shell\编译并执行\command" /ve /d "\"D:\Program Files\a.bat\" \"%%1\" flag" /f
  5. pause
复制代码

TOP

回复 3# 0428_hai


    刷新一下注册表看看修改后的键值还在不?有时候可能是某些“智能”的软件锁定了注册表项

TOP

刷新注册表,重启explorer依旧无效

TOP

  1. @echo off
  2. for /f "delims=" %%a in ('assoc .java') do set %%a
  3. if not defined .java (set ".java=javafile" & assoc .java=javafile)
  4. reg.exe add "hkcr\%.java%\shell\编译\command" /ve /d "\"D:\Program Files\a.bat\" \"%%1\"" /f
  5. reg.exe add "hkcr\%.java%\shell\编译并执行\command" /ve /d "\"D:\Program Files\a.bat\" \"%%1\" flag" /f
  6. pause
复制代码

TOP

9#兄台的方法貌似是可行的啊。。。。
这是什么原理呢?
.java不可以,而设置与之相关联的键值才可以?

TOP

回复 10# 0428_hai


    关联文件!
http://www.diecasting86.com

TOP

返回列表