很早就在找这样一种功能,今天无意间看到了,分享下
参考
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
复制代码
|