找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 26106|回复: 9

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

[复制链接]
发表于 2021-10-9 19:46:26 | 显示全部楼层 |阅读模式
很早就在找这样一种功能,今天无意间看到了,分享下
参考
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
复制代码
发表于 2022-4-15 11:39:13 | 显示全部楼层
好贴,顶!
发表于 2022-4-15 20:57:24 | 显示全部楼层
回复 1# went


    看不明白也支特分享
发表于 2022-4-16 06:41:55 | 显示全部楼层
回复 1# went


   感谢大侠分享, 刚试了一下, 不显示文本, 如下图, 系统是win7 64位
发表于 2022-4-16 08:08:48 | 显示全部楼层
本帖最后由 yyz219 于 2022-4-16 08:10 编辑
回复  went


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



    用“Windows右键管理”打开一下就有了
https://pan.baidu.com/s/1XwAvDO-7MyZONOTsZdvjIg
发表于 2022-4-16 09:33:03 | 显示全部楼层
回复 5# yyz219


   感谢指引, 可以看到,但是仍然不显示二级菜单的文字
感谢分享, 这个软件真是不错, 可以各种设置
发表于 2022-4-16 12:02:40 | 显示全部楼层
回复  yyz219


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


可以的。点开——文件——修改后缀——右边(不是最右边)——4个方块——齿轮——修改文本————就出来了
发表于 2022-4-16 12:06:29 | 显示全部楼层
回复 7# yyz219


   你好, 感谢提醒, 点开后, 本来就显示扩展名文字的, 这难道是win7的bug吗? 还是说went大侠的这个必须得用这个工具改?
发表于 2022-4-16 12:08:46 | 显示全部楼层
回复 8# 5i365


    不清楚

我的也是windows7--64,就是这样弄出来的
发表于 2022-4-17 10:39:55 | 显示全部楼层
本帖最后由 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技术 +1 收起 理由
went + 1 感谢分享

查看全部评分

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

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 04:34 , Processed in 0.020299 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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