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

[注册表类] (分享)使用bat添加多级右键菜单

很早就在找这样一种功能,今天无意间看到了,分享下
参考
Windows自定义右键菜单,多级菜单

实例代码:二级菜单,更改文件后缀名
双击进行添加或删除
  1. @echo off
  2. REM 管理员权限
  3. %1 start "" mshta vbscript:createobject("shell.application").shellexecute("""%~0""","REM",,"runas",1)(window.close)&exit
  4. REM 后缀名列表
  5. set "ext=txt bat ps1 js vbs java c cpp asm"
  6. REM 删除或添加
  7. reg delete "HKCR\*\shell\修改后缀" /f >nul 2>nul && (
  8. REM 删除
  9. echo 删除成功!
  10. ) || (
  11. REM 添加
  12. REM 添加根元素
  13. reg add "HKCR\*\shell\修改后缀" /v "SubCommands" /t "REG_SZ" /d "" /f
  14. reg add "HKCR\*\shell\修改后缀" /v "Icon" /t "REG_EXPAND_SZ" /d "%SystemRoot%\system32\user32.dll,6" /f
  15. REM 添加二级菜单
  16. for %%i in (%ext%) do (
  17. REM 图标
  18. reg add "HKCR\*\shell\修改后缀\shell\%%i" /v "Icon" /t "REG_EXPAND_SZ" /d "%SystemRoot%\system32\user32.dll,4" /f
  19. REM 命令
  20. reg add "HKCR\*\shell\修改后缀\shell\%%i\command" /ve /t "REG_SZ" /d "cmd /c for /f \"delims=\" %%%%a in (\"%%1\") do rename \"%%%%a\" \"%%%%~na.%%i\"" /f
  21. )
  22. echo 添加成功
  23. )
  24. pause&exit
复制代码

本帖最后由 yyz219 于 2022-4-17 11:41 编辑

我来一个转换成为不需要修改就能够显示文本的
1.添加右键菜单 .bat
  1. @echo off
  2. reg add "HKCR\*\shell\修改后缀" /f /v "SubCommands" /t REG_SZ /d ""
  3. reg add "HKCR\*\shell\修改后缀" /f /v "Icon" /t REG_EXPAND_SZ /d "C:\Windows\system32\user32.dll,6"
  4. reg add "HKCR\*\shell\修改后缀\shell\asm" /f /v "Icon" /t REG_EXPAND_SZ /d "C:\Windows\system32\user32.dll,4"
  5. reg add "HKCR\*\shell\修改后缀\shell\asm" /f /v "MUIVerb" /t REG_SZ /d "asm"
  6. reg add "HKCR\*\shell\修改后缀\shell\asm\command" /f /ve /t REG_SZ /d "cmd /c for /f \"delims=\" %%%%a in (\"%%1\") do rename \"%%%%a\" \"%%%%~na.asm\""
  7. reg add "HKCR\*\shell\修改后缀\shell\bat" /f /v "Icon" /t REG_EXPAND_SZ /d "C:\Windows\system32\user32.dll,4"
  8. reg add "HKCR\*\shell\修改后缀\shell\bat" /f /v "MUIVerb" /t REG_SZ /d "bat"
  9. reg add "HKCR\*\shell\修改后缀\shell\bat\command" /f /ve /t REG_SZ /d "cmd /c for /f \"delims=\" %%%%a in (\"%%1\") do rename \"%%%%a\" \"%%%%~na.bat\""
  10. reg add "HKCR\*\shell\修改后缀\shell\c" /f /v "Icon" /t REG_EXPAND_SZ /d "C:\Windows\system32\user32.dll,4"
  11. reg add "HKCR\*\shell\修改后缀\shell\c" /f /v "MUIVerb" /t REG_SZ /d "c"
  12. reg add "HKCR\*\shell\修改后缀\shell\c\command" /f /ve /t REG_SZ /d "cmd /c for /f \"delims=\" %%%%a in (\"%%1\") do rename \"%%%%a\" \"%%%%~na.c\""
  13. reg add "HKCR\*\shell\修改后缀\shell\cpp" /f /v "Icon" /t REG_EXPAND_SZ /d "C:\Windows\system32\user32.dll,4"
  14. reg add "HKCR\*\shell\修改后缀\shell\cpp" /f /v "MUIVerb" /t REG_SZ /d "cpp"
  15. reg add "HKCR\*\shell\修改后缀\shell\cpp\command" /f /ve /t REG_SZ /d "cmd /c for /f \"delims=\" %%%%a in (\"%%1\") do rename \"%%%%a\" \"%%%%~na.cpp\""
  16. reg add "HKCR\*\shell\修改后缀\shell\java" /f /v "Icon" /t REG_EXPAND_SZ /d "C:\Windows\system32\user32.dll,4"
  17. reg add "HKCR\*\shell\修改后缀\shell\java" /f /v "MUIVerb" /t REG_SZ /d "java"
  18. reg add "HKCR\*\shell\修改后缀\shell\java\command" /f /ve /t REG_SZ /d "cmd /c for /f \"delims=\" %%%%a in (\"%%1\") do rename \"%%%%a\" \"%%%%~na.java\""
  19. reg add "HKCR\*\shell\修改后缀\shell\js" /f /v "Icon" /t REG_EXPAND_SZ /d "C:\Windows\system32\user32.dll,4"
  20. reg add "HKCR\*\shell\修改后缀\shell\js" /f /v "MUIVerb" /t REG_SZ /d "js"
  21. reg add "HKCR\*\shell\修改后缀\shell\js\command" /f /ve /t REG_SZ /d "cmd /c for /f \"delims=\" %%%%a in (\"%%1\") do rename \"%%%%a\" \"%%%%~na.js\""
  22. reg add "HKCR\*\shell\修改后缀\shell\ps1" /f /v "Icon" /t REG_EXPAND_SZ /d "C:\Windows\system32\user32.dll,4"
  23. reg add "HKCR\*\shell\修改后缀\shell\ps1" /f /v "MUIVerb" /t REG_SZ /d "ps1"
  24. reg add "HKCR\*\shell\修改后缀\shell\ps1\command" /f /ve /t REG_SZ /d "cmd /c for /f \"delims=\" %%%%a in (\"%%1\") do rename \"%%%%a\" \"%%%%~na.ps1\""
  25. reg add "HKCR\*\shell\修改后缀\shell\txt" /f /v "Icon" /t REG_EXPAND_SZ /d "C:\Windows\system32\user32.dll,4"
  26. reg add "HKCR\*\shell\修改后缀\shell\txt" /f /v "MUIVerb" /t REG_SZ /d "txt"
  27. reg add "HKCR\*\shell\修改后缀\shell\txt\command" /f /ve /t REG_SZ /d "cmd /c for /f \"delims=\" %%%%a in (\"%%1\") do rename \"%%%%a\" \"%%%%~na.txt\""
  28. reg add "HKCR\*\shell\修改后缀\shell\vbs" /f /v "Icon" /t REG_EXPAND_SZ /d "C:\Windows\system32\user32.dll,4"
  29. reg add "HKCR\*\shell\修改后缀\shell\vbs" /f /v "MUIVerb" /t REG_SZ /d "vbs"
  30. reg add "HKCR\*\shell\修改后缀\shell\vbs\command" /f /ve /t REG_SZ /d "cmd /c for /f \"delims=\" %%%%a in (\"%%1\") do rename \"%%%%a\" \"%%%%~na.vbs\""
  31. echo 添加成功
  32. pause&exit
复制代码
2.删除右键菜单.bat
  1. @echo off
  2. reg delete "HKCR\*\shell\修改后缀" /f >nul 2>nul
  3. echo 删除成功!
  4. pause&exit
复制代码
1

评分人数

    • went: 感谢分享技术 + 1
我是小白,希望老师多多帮助

TOP

回复 8# 5i365


    不清楚

我的也是windows7--64,就是这样弄出来的
我是小白,希望老师多多帮助

TOP

回复 7# yyz219


   你好, 感谢提醒, 点开后, 本来就显示扩展名文字的, 这难道是win7的bug吗? 还是说went大侠的这个必须得用这个工具改?
本人所发所有贴子或代码, 诸大侠若认为有改进之处,请不吝赐教,感激不尽!

TOP

回复  yyz219


   感谢指引, 可以看到,但是仍然不显示二级菜单的文字
感谢分享, 这个软件真是不错, 可 ...
5i365 发表于 2022-4-16 09:33


可以的。点开——文件——修改后缀——右边(不是最右边)——4个方块——齿轮——修改文本————就出来了
我是小白,希望老师多多帮助

TOP

回复 5# yyz219


   感谢指引, 可以看到,但是仍然不显示二级菜单的文字
感谢分享, 这个软件真是不错, 可以各种设置
本人所发所有贴子或代码, 诸大侠若认为有改进之处,请不吝赐教,感激不尽!

TOP

本帖最后由 yyz219 于 2022-4-16 08:10 编辑
回复  went


   感谢大侠分享, 刚试了一下, 不显示文本, 如下图, 系统是win7 64位
5i365 发表于 2022-4-16 06:41



    用“Windows右键管理”打开一下就有了
https://pan.baidu.com/s/1XwAvDO-7MyZONOTsZdvjIg
我是小白,希望老师多多帮助

TOP

回复 1# went


   感谢大侠分享, 刚试了一下, 不显示文本, 如下图, 系统是win7 64位
本人所发所有贴子或代码, 诸大侠若认为有改进之处,请不吝赐教,感激不尽!

TOP

回复 1# went


    看不明白也支特分享
我是小白,希望老师多多帮助

TOP

好贴,顶!

TOP

返回列表