zxinyun 发表于 2018-6-3 21:23

右键直接新建bat、vbs脚本文件,支持其它扩展名【修复bug】

本帖最后由 zxinyun 于 2018-6-4 11:50 编辑

不多话,直接批处理代码:
@echo off
reg add "HKCR\Directory\Background\shell\WinXNew" /v "MUIVerb" /d "新建扩展名" /f
reg add "HKCR\Directory\Background\shell\WinXNew" /v "Position" /d "Bottom" /f
reg add "HKCR\Directory\Background\shell\WinXNew" /v "SubCommands" /d "" /f
reg add "HKCR\Directory\Background\shell\WinXNew" /v "SeparatorAfter" /d "" /f
reg add "HKCR\Directory\Background\shell\WinXNew\shell" /ve /d "" /f
reg add "HKCR\Directory\Background\shell\WinXNew\shell\1.txt" /v "Icon" /d "imageres.dll,-2" /f
reg add "HKCR\Directory\Background\shell\WinXNew\shell\1.txt" /ve /d "空文件" /f
if exist "%windir%\nulname.vbs" (del /q "%windir%\nulname.vbs")
reg add "HKCR\Directory\Background\shell\WinXNew\shell\1.txt\command" /ve /d "wscript %windir%\nulname.vbs" /f
echo Dim na>>%systemroot%\nulname.vbs
echo na=Inputbox("请输入扩展名:","扩展名","")>>%systemroot%\nulname.vbs
echo If IsEmpty(na) Then>>%systemroot%\nulname.vbs
echo wscript.quit>>%systemroot%\nulname.vbs
echo End If>>%systemroot%\nulname.vbs
echo set fso=createobject("scripting.filesystemobject") : name=^1>>%systemroot%\nulname.vbs
echo while fso.fileexists("新文件"^&""^&name^&"."^&na)=true>>%systemroot%\nulname.vbs
echo name=name+1>>%systemroot%\nulname.vbs
echo wend>>%systemroot%\nulname.vbs
echo set o=fso.opentextfile("新文件"^&""^&name^&"."^&na,2,true)>>%systemroot%\nulname.vbs
echo wscript.quit>>%systemroot%\nulname.vbs

根据无忧论坛“窄口牛”相关帖子修改为自用版,方便我这种爱写小脚本的懒人。
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=408927&extra=&page=1
使用方法:
       代码保存为.bat文件,直接运行,在桌面或任意文件夹中,右键会多出“新建扩展名”-“空文件”,,,不输扩展名,直接确定即生成类似hosts的无后缀名文件。


取消方法:
       cmd窗口运行:reg delete HKCR\Directory\Background\shell\WinXNew/f即可。

今早测试,发现取消后,再次运行不生效,原来是条件判断未完全生效,故再次修改。

小小/ng 发表于 2018-6-4 11:44

本帖最后由 小小/ng 于 2018-6-4 11:51 编辑

脚本没问题,代码贴错了,生成的vbs就会报错。


正确代码

@echo off
reg add "HKCR\Directory\Background\shell\WinXNew" /v "MUIVerb" /d "新建扩展名" /f
reg add "HKCR\Directory\Background\shell\WinXNew" /v "Position" /d "Bottom" /f
reg add "HKCR\Directory\Background\shell\WinXNew" /v "SubCommands" /d "" /f
reg add "HKCR\Directory\Background\shell\WinXNew" /v "SeparatorAfter" /d "" /f
reg add "HKCR\Directory\Background\shell\WinXNew\shell" /ve /d "" /f
reg add "HKCR\Directory\Background\shell\WinXNew\shell\1.txt" /v "Icon" /d "imageres.dll,-2" /f
reg add "HKCR\Directory\Background\shell\WinXNew\shell\1.txt" /ve /d "空文件" /f
if exist "%windir%\nulname.vbs" (del /q "%windir%\nulname.vbs")
reg add "HKCR\Directory\Background\shell\WinXNew\shell\1.txt\command" /ve /d "wscript %windir%\nulname.vbs" /f
echo Dim na>>%systemroot%\nulname.vbs
echo na=Inputbox("请输入扩展名:","扩展名","")>>%systemroot%\nulname.vbs
echo If IsEmpty(na) Then>>%systemroot%\nulname.vbs
echo wscript.quit>>%systemroot%\nulname.vbs
echo End If>>%systemroot%\nulname.vbs
echo set fso=createobject("scripting.filesystemobject") : name=^1>>%systemroot%\nulname.vbs
echo while fso.fileexists("新文件"^&""^&name^&"."^&na)=true>>%systemroot%\nulname.vbs
echo name=name+1>>%systemroot%\nulname.vbs
echo wend>>%systemroot%\nulname.vbs
echo set o=fso.opentextfile("新文件"^&""^&name^&"."^&na,2,true)>>%systemroot%\nulname.vbs
echo wscript.quit>>%systemroot%\nulname.vbs

zxinyun 发表于 2018-6-4 06:51

Hellohao 发表于 2018-6-4 00:57
顺便说一下 取消方法吧

cmd窗口运行
reg delete HKCR\Directory\Background\shell\WinXNew/f
即可

bzz 发表于 2018-6-3 21:41

学习下       这咋弄.......

qpliuxin 发表于 2018-6-3 21:42

谢谢,好东西,先收藏了

zxinyun 发表于 2018-6-3 21:42

bzz 发表于 2018-6-3 21:41
学习下       这咋弄.......

保存为.bat文件,直接运行。右键即会出现相应菜单。

wangw0220 发表于 2018-6-3 22:42

非常实用的小工具

胡胖胖 发表于 2018-6-3 22:44

优秀,我稍微改了点自己用还不错~

Hellohao 发表于 2018-6-4 00:57

顺便说一下 取消方法吧

a2523188267 发表于 2018-6-4 01:24

非常不错,值得学习

小小/ng 发表于 2018-6-4 10:07

本帖最后由 小小/ng 于 2018-6-4 10:08 编辑

新建扩展名-空文件-神马鬼{:1_907:}
页: [1] 2
查看完整版本: 右键直接新建bat、vbs脚本文件,支持其它扩展名【修复bug】