redyear2026 发表于 2026-3-28 22:39 以下代码存为 test.reg(其中最后一行可自定义真实路径文件名,预设 c:\\test\\test.bat),双击运行会有 ... 原来弄个右键就可以了。 不过,注册码得改为: [ol]Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shell\修改文件扩展名] [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shell\修改文件扩展名\command] @="cmd.exe /c X:\\test\\test.bat \"%L\""[/ol]复制代码
xmzhqw 发表于 2026-3-29 10:03 原来弄个右键就可以了。 不过,注册码得改为: 再优化一步,只用一个 test.hta 脚本文件就可以了(以下代码存为 test.hta),用此还可避免以前所给方案的一个缺陷,即当资源浏览器全屏时会遮掩 mshta 弹窗 该方法限于 mshta 的 ie 引擎不能高于 9 版本,否则 mshta 脚本无法直接获取命令行参数,因此代码第一行的 'ie=9' 不要动就是了。 [ol] 【更改文件扩展名】 自定义扩展名: 扩展名选项: txt lst csv [/ol]复制代码 注册表文件 test.reg 的内容相应调整如下 [ol]Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\shell\修改文件扩展名] [HKEY_CLASSES_ROOT\*\shell\修改文件扩展名\command] @="cmd.exe /c start x:\\test\\test.hta \"%L\"" [/ol]复制代码
redyear2026 发表于 2026-3-29 11:29 再优化一步,只用一个 test.hta 脚本文件就可以了(以下代码存为 test.hta),用此还可避免以前所给方 ... 太感动了,有你这么热心的朋友!再次感谢! 只是我又有求了,真不好意思。 因为经常弄PE,所以就碰到注册表,需要一个“去除扩展名”的快捷键。如果能够增加一个“去除扩展名”的选项,就更完美了。谢谢!
xmzhqw 发表于 2026-3-29 12:33 太感动了,有你这么热心的朋友!再次感谢! 只是我又有求了,真不好意思。 新版代码如下存为 test.hta,试试吧 [ol] 【更改文件扩展名】 自定义扩展名: 扩展名选项: txt lst csv 去除扩展名 [/ol]复制代码
redyear2026 发表于 2026-3-29 15:38 新版代码如下存为 test.hta,试试吧 新版的在我这,无论是PE还是本地系统都无法运行。 旧的却可以正常运行,Win10还是Win11的PE都可以。 不敢再麻烦你了,能用就行。我最终采用旧的方案,再加一个去除扩展名的右键。 [color=]最终代码: [ol] 【更改文件扩展名】 自定义扩展名: 扩展名选项: 7z ahk bat cmd dll exe html ini inf jpeg lua mhtml reg rar tst vbs xml zip [/ol]复制代码 [color=]右键菜单为2个,一个是你的代码,一个为增加的去除扩展名: [ol]Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shell\快速修改扩展名] "SubCommands"="" "MUIVerb"="快速修改该文件后缀(&Z)" "icon"="X:\\Program Files\\Other\\text\\MoreSoft.dll,39" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shell\快速修改扩展名\shell\去掉后缀名] "MUIVerb"="去掉后缀名(扩展名)" "Icon"="X:\\Windows\\System32\\imageres.dll,2" "CommandFlags"=dword:00000020 [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shell\快速修改扩展名\shell\去掉后缀名\command] @="cmd /c for /f \"delims=\" %%a in (\"%1\") do rename \"%%a\" \"%%~na\"" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shell\快速修改扩展名\shell\修改扩展名] "MUIVerb"="修改为其它的后缀名" "icon"="X:\\Program Files\\Other\\text\\MoreSoft.dll,39" "CommandFlags"=dword:00000020 [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shell\快速修改扩展名\shell\修改扩展名\command] @="pecmd Exec !X:\\Windows\\System32\\修改文件扩展名.bat \"%L\""[/ol]复制代码 [color=]再次表示感谢!!
xmzhqw 发表于 2026-3-29 16:52 新版的在我这,无论是PE还是本地系统都无法运行。 旧的却可以正常运行,Win10还是Win11的PE都可以。 手边没有PE系统验证,26楼新版代码 test.hta(存为 ansi 或 gb2312 编码)在win7-11各版系统应用均无问题,推测也许与 PE 跑 mshta 中文菜单有关?你可以用一个英文菜单名替换代码 [color=]第12行和第20行 中的 [color=]去除扩展名 ,再试试
xmzhqw 发表于 2026-3-29 16:52 新版的在我这,无论是PE还是本地系统都无法运行。 旧的却可以正常运行,Win10还是Win11的PE都可以。 再给一个验证版本,将其中的中文菜单名用英文字符*包裹成 [color=]*去除扩展名* ,你再试试。 [ol] 【更改文件扩展名】 自定义扩展名: 扩展名选项: txt lst csv *去除扩展名* [/ol]复制代码
redyear2026 发表于 2026-3-29 18:50 手边没有PE系统验证,26楼新版代码 test.hta(存为 ansi 或 gb2312 编码)在win7-11各版系统应用均无问题 ... 感谢不怨其烦的解答! 是我眼花:hta 看成 bta 了。真不好意思。改一下,可以用了。完美极了!谢谢!!!