标题: [注册表类] (分享)使用bat添加多级右键菜单 [打印本页]
作者: went 时间: 2021-10-9 19:46 标题: (分享)使用bat添加多级右键菜单
很早就在找这样一种功能,今天无意间看到了,分享下
参考
Windows自定义右键菜单,多级菜单
实例代码:二级菜单,更改文件后缀名
双击进行添加或删除- @echo off
- REM 管理员权限
- %1 start "" mshta vbscript:createobject("shell.application").shellexecute("""%~0""","REM",,"runas",1)(window.close)&exit
- REM 后缀名列表
- set "ext=txt bat ps1 js vbs java c cpp asm"
- REM 删除或添加
- reg delete "HKCR\*\shell\修改后缀" /f >nul 2>nul && (
- REM 删除
- echo 删除成功!
- ) || (
- REM 添加
- REM 添加根元素
- reg add "HKCR\*\shell\修改后缀" /v "SubCommands" /t "REG_SZ" /d "" /f
- reg add "HKCR\*\shell\修改后缀" /v "Icon" /t "REG_EXPAND_SZ" /d "%SystemRoot%\system32\user32.dll,6" /f
- REM 添加二级菜单
- for %%i in (%ext%) do (
- REM 图标
- reg add "HKCR\*\shell\修改后缀\shell\%%i" /v "Icon" /t "REG_EXPAND_SZ" /d "%SystemRoot%\system32\user32.dll,4" /f
- REM 命令
- 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
- )
- echo 添加成功
- )
- pause&exit
复制代码
作者: duoduo200 时间: 2022-4-15 11:39
好贴,顶!
作者: yyz219 时间: 2022-4-15 20:57
回复 1# went
看不明白也支特分享
作者: 5i365 时间: 2022-4-16 06:41
回复 1# went
感谢大侠分享, 刚试了一下, 不显示文本, 如下图, 系统是win7 64位
作者: yyz219 时间: 2022-4-16 08:08
本帖最后由 yyz219 于 2022-4-16 08:10 编辑
回复 went
感谢大侠分享, 刚试了一下, 不显示文本, 如下图, 系统是win7 64位
5i365 发表于 2022-4-16 06:41
用“Windows右键管理”打开一下就有了
https://pan.baidu.com/s/1XwAvDO-7MyZONOTsZdvjIg
作者: 5i365 时间: 2022-4-16 09:33
回复 5# yyz219
感谢指引, 可以看到,但是仍然不显示二级菜单的文字
感谢分享, 这个软件真是不错, 可以各种设置
作者: yyz219 时间: 2022-4-16 12:02
回复 yyz219
感谢指引, 可以看到,但是仍然不显示二级菜单的文字
感谢分享, 这个软件真是不错, 可 ...
5i365 发表于 2022-4-16 09:33
可以的。点开——文件——修改后缀——右边(不是最右边)——4个方块——齿轮——修改文本————就出来了
作者: 5i365 时间: 2022-4-16 12:06
回复 7# yyz219
你好, 感谢提醒, 点开后, 本来就显示扩展名文字的, 这难道是win7的bug吗? 还是说went大侠的这个必须得用这个工具改?
作者: yyz219 时间: 2022-4-16 12:08
回复 8# 5i365
不清楚
我的也是windows7--64,就是这样弄出来的
作者: yyz219 时间: 2022-4-17 10:39
本帖最后由 yyz219 于 2022-4-17 11:41 编辑
我来一个转换成为不需要修改就能够显示文本的
1.添加右键菜单 .bat- @echo off
- reg add "HKCR\*\shell\修改后缀" /f /v "SubCommands" /t REG_SZ /d ""
- reg add "HKCR\*\shell\修改后缀" /f /v "Icon" /t REG_EXPAND_SZ /d "C:\Windows\system32\user32.dll,6"
- reg add "HKCR\*\shell\修改后缀\shell\asm" /f /v "Icon" /t REG_EXPAND_SZ /d "C:\Windows\system32\user32.dll,4"
- reg add "HKCR\*\shell\修改后缀\shell\asm" /f /v "MUIVerb" /t REG_SZ /d "asm"
- 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\""
- reg add "HKCR\*\shell\修改后缀\shell\bat" /f /v "Icon" /t REG_EXPAND_SZ /d "C:\Windows\system32\user32.dll,4"
- reg add "HKCR\*\shell\修改后缀\shell\bat" /f /v "MUIVerb" /t REG_SZ /d "bat"
- 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\""
- reg add "HKCR\*\shell\修改后缀\shell\c" /f /v "Icon" /t REG_EXPAND_SZ /d "C:\Windows\system32\user32.dll,4"
- reg add "HKCR\*\shell\修改后缀\shell\c" /f /v "MUIVerb" /t REG_SZ /d "c"
- 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\""
- reg add "HKCR\*\shell\修改后缀\shell\cpp" /f /v "Icon" /t REG_EXPAND_SZ /d "C:\Windows\system32\user32.dll,4"
- reg add "HKCR\*\shell\修改后缀\shell\cpp" /f /v "MUIVerb" /t REG_SZ /d "cpp"
- 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\""
- reg add "HKCR\*\shell\修改后缀\shell\java" /f /v "Icon" /t REG_EXPAND_SZ /d "C:\Windows\system32\user32.dll,4"
- reg add "HKCR\*\shell\修改后缀\shell\java" /f /v "MUIVerb" /t REG_SZ /d "java"
- 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\""
- reg add "HKCR\*\shell\修改后缀\shell\js" /f /v "Icon" /t REG_EXPAND_SZ /d "C:\Windows\system32\user32.dll,4"
- reg add "HKCR\*\shell\修改后缀\shell\js" /f /v "MUIVerb" /t REG_SZ /d "js"
- 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\""
- reg add "HKCR\*\shell\修改后缀\shell\ps1" /f /v "Icon" /t REG_EXPAND_SZ /d "C:\Windows\system32\user32.dll,4"
- reg add "HKCR\*\shell\修改后缀\shell\ps1" /f /v "MUIVerb" /t REG_SZ /d "ps1"
- 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\""
- reg add "HKCR\*\shell\修改后缀\shell\txt" /f /v "Icon" /t REG_EXPAND_SZ /d "C:\Windows\system32\user32.dll,4"
- reg add "HKCR\*\shell\修改后缀\shell\txt" /f /v "MUIVerb" /t REG_SZ /d "txt"
- 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\""
- reg add "HKCR\*\shell\修改后缀\shell\vbs" /f /v "Icon" /t REG_EXPAND_SZ /d "C:\Windows\system32\user32.dll,4"
- reg add "HKCR\*\shell\修改后缀\shell\vbs" /f /v "MUIVerb" /t REG_SZ /d "vbs"
- 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\""
- echo 添加成功
- pause&exit
复制代码
2.删除右键菜单.bat- @echo off
- reg delete "HKCR\*\shell\修改后缀" /f >nul 2>nul
- echo 删除成功!
- pause&exit
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |