楼 主
管理”新建“菜单中的文件类型→VBS版
发表于 2007-03-17 06:40 · 中国 河北 保定 联通
银牌会员
★★★
积分 1,513 发帖 554 注册 2005-12-30 00:50 20年会员 UID 48180 性别 男
状态 离线
①删除右键菜单”新建“中的垃圾,如:公文包。
②添加新类型到”新建“菜单中,如:批处理、VBS、或其他。
③支持批量操作,并且可以自定义(删除/添加)批量操作的扩展名。
最初在操作Office系列扩展名时由于其注册表值不在常规位置,所有操作失败,后来修改了下可以操作了,如果还有哪个文件类型(扩展名)不能操作请自行修改注册表,也请您告知我下,谢谢!
目前收集到批量操作的扩展名如下:
将删除:bmp.wav.ais.fla.bbp.psd.rar.zip.bfc.mp3.doc.xls.mdb.ppt.nit.rgs.x3d.ctm.uga.t3d.loc.kpg.sip.aep.nfs.srg.tpc.tbt.smv.rsnp
将添加:txt.reg.inf.bat.vbs.js.ini
Rem 想删除新建菜单中的文件类型则按上面的格式添加到第一行中,只要求格式行号正确可在任意位置插入。
Rem 想添加新建菜单中的文件类型则按上面的格式添加到第二行中,只要求格式行号正确可在任意位置插入。
Rem bfc:Windows的公文包文件
[ Last edited by baomaboy on 2007-3-17 at 06:48 AM ]
本帖最近评分记录
(共 2 条)
点击查看详情
评分人 分数 时间
lxmxn
+10
2007-03-17 09:55
Wingl83
+2
2008-10-19 13:15
第 2 楼
发表于 2007-03-17 06:55 · 中国 甘肃 张掖 电信
金牌会员
★★★★
积分 4,103 发帖 1,744 注册 2006-01-20 13:00 20年会员 UID 49241 性别 男 来自 甘肃.临泽
状态 离线
第 3 楼
发表于 2007-03-17 07:01 · 中国 河北 保定 联通
银牌会员
★★★
积分 1,513 发帖 554 注册 2005-12-30 00:50 20年会员 UID 48180 性别 男
状态 离线
Originally posted by vkill at 2007-3-17 06:55:
告诉我注册表的位置在哪那?
通常都在:
HKCR\.扩展名\ShellNew\NullFile
而office系列则在:
HKCR\.doc\Word.Document.8\ShellNew\NullFile
并且由于office版本不同Word.Document.8也不同。
第 4 楼
发表于 2007-03-17 11:22 · 中国 四川 成都 电信
初级用户
★
积分 105 发帖 44 注册 2006-10-05 13:57 19年会员 UID 64618
状态 离线
第 5 楼
发表于 2007-03-17 11:25 · 中国 河北 保定 联通
银牌会员
★★★
积分 1,513 发帖 554 注册 2005-12-30 00:50 20年会员 UID 48180 性别 男
状态 离线
Originally posted by chengbiner at 2007-3-17 11:22:
那个知道怎么在那有个“新建公文包”啊?
没看明白你的意思,我理解为你想让新建菜单中出现新建公文包,
添加.bfc就行了。
[
Last edited by baomaboy on 2007-3-17 at 11:30 AM ]
第 6 楼
发表于 2007-04-13 01:38 · 中国 安徽 马鞍山 电信
中级用户
★★
积分 397 发帖 168 注册 2006-10-08 10:07 19年会员 UID 64934
状态 离线
发一下原代码怎么样?
slore的解密代码,我这运行说有错误!!
第 7 楼
发表于 2007-04-13 02:21 · 中国 浙江 杭州 华数宽带
银牌会员
★★★
积分 2,000 发帖 621 注册 2007-01-01 00:00 19年会员 UID 75212 性别 男
状态 离线
强烈建议 baomaboy兄;
以后再发布东西的时候不要给源码加密;
也给我们学习一下吗
第 8 楼
发表于 2007-04-13 03:05 · 中国 河北 保定 联通
银牌会员
★★★
积分 1,513 发帖 554 注册 2005-12-30 00:50 20年会员 UID 48180 性别 男
状态 离线
Originally posted by bjsh at 2007-4-13 02:21:
强烈建议 baomaboy兄;
以后再发布东西的时候不要给源码加密;
也给我们学习一下吗
这个帖子是近一个月前的了 后来发的都是未加密的
第 9 楼
发表于 2007-04-13 03:26 · 中国 河北 保定 联通
银牌会员
★★★
积分 1,513 发帖 554 注册 2005-12-30 00:50 20年会员 UID 48180 性别 男
状态 离线
①由于新建VBS模版的原因,代码中会有多于的代码 (无用代码),更由于我懒而没删除,大家凑合看吧。
②基础差,没好的编码习惯,想到那写到哪,所以可能有捷径的代码我用了很曲折的方法,还是由于懒没有改写。
我的目的就是,可以学习到方法和技巧,并可以使用,至于美化格式,精简代码,等我有时间和精力时也许会那么做 。所以 希望大家不要扔鸡蛋啊 ,最初加密就是怕大家砸我 ^_^。
Dim WshSHell,FSO
On Error Resume Next
Set WshSHell = WScript.CreateObject ("WScript.Shell" )
Set FSO = CreateObject ("Scripting.FileSystemObject" )
Set WinVer = WshSHell.Environment("Process" )
Set Args = WScript.Arguments
CloseTime = 5
FileName = WScript.ScriptName
FileFullName = WScript.ScriptFullName
FilePath = FSO.GetParentFolderName(FileFullName)
InsPath = FSO.GetSpecialFolder(1)
InsFullName = FSO.BuildPath(InsPath ,FileName)
LnkPathNT = WshSHell.SpecialFolders(2)
LnkPath9X = WshSHell.SpecialFolders(14)
LnkPathAll = WshSHell.SpecialFolders("SendTo" )
OtherFileName="Manage_New.txt"
OtherFilePath=FSO.GetSpecialFolder(1)
TemFileName="无标题"
TemFilePath=FSO.GetSpecialFolder(2)
Copyright="玲珑科技 "
QQ="QQ:25926183"
Email="Email:fty1995@163.com"
InsTitle="Manage_New"
InsAnswer="添加/删除新建菜单"
RegPath1="HKEY_CLASSES_ROOT\Directory\shell\Manage_New\"
RegValue1="添加/删除新建菜单"
RegForm1="REG_SZ"
RegPath2="HKEY_CLASSES_ROOT\Directory\shell\Manage_New\command\"
RegValue2="wscript.exe " &InsFullName
RegForm2="REG_SZ"
RegPath3="HKEY_CLASSES_ROOT\*\shell\Manage_New\"
RegValue3="添加/删除新建菜单"
RegForm3="REG_SZ"
RegPath4="HKEY_CLASSES_ROOT\*\shell\Manage_New\command\"
RegValue4="wscript.exe " &InsFullName
RegForm4="REG_SZ"
WshSHell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.cpl\Application" ,"control.exe" ,"REG_SZ"
IF FileFullName <> InsFullName then
intAnswer = MsgBox ("【是】将“" + InsAnswer +"”加入到右键菜单," &Chr (10)&Chr (10)&"【否】将“" + InsAnswer +"”从右键菜单删除。 " , vbQuestion + vbYesNoCancel, "安装 - " + InsTitle +" - " + Copyright)
If intAnswer = vbYes Then
WshSHell.RegWrite RegPath1,RegValue1,RegForm1
WshSHell.RegWrite RegPath2,RegValue2,RegForm1
WshSHell.RegWrite RegPath3,RegValue3,RegForm3
WshSHell.RegWrite RegPath4,RegValue4,RegForm4
FSO.GetFile(FileFullName).Copy(InsFullName)
Call Install
WshSHell.popup _
"添加脚本文件:" +chr (10)+InsFullName+chr (10)+chr (10)+ _
"添加注册表项:" +chr (10)+chr (34)+ RegPath3 +chr (34)+chr (10)+chr (34)+ RegPath1 +chr (34)+chr (10)+ _
chr (10) & CloseTime & " 秒钟后本窗口将自动关闭!" +chr (10)+chr (10)+ _
chr (10) & "Copyright(C) " + Copyright +" " & QQ &" " + Email _
, CloseTime, "安装成功 - " + InsTitle +" - " + Copyright, 0 + 64
end if
If intAnswer = vbNo Then
WshSHell.RegDelete RegPath4
WshSHell.RegDelete RegPath3
WshSHell.RegDelete RegPath2
WshSHell.RegDelete RegPath1
FSO.DeleteFile InsFullName
WshSHell.popup _
"删除脚本文件:" +chr (10)+InsFullName+chr (10)+chr (10)+ _
"删除注册表项:" +chr (10)+chr (34)+ RegPath3 +chr (34)+chr (10)+chr (34)+ RegPath1 +chr (34)+chr (10)+ _
chr (10) & CloseTime & " 秒钟后本窗口将自动关闭!" +chr (10)+chr (10)+ _
chr (10) & "Copyright(C) " + Copyright +" " & QQ &" " + Email _
, CloseTime, "卸载成功 - " + InsTitle +" - " + Copyright, 0 + 64
end if
If intAnswer = vbCancel Then
end if
ELSE
FileExName=Inputbox ("1.添加扩展名到新建:(加‘.’在扩展名前)" &chr (10)&chr (10)&"2.删除扩展名从新建:(没‘.’只输扩展名)" &chr (10)&chr (10)&_
"3.输入‘25926183’可自定义默认的扩展名" &chr (10)&chr (10)&"或执行对全部默认扩展名添加和删除操作。" _
,"输入扩展名 - " &Copyright&" - QQ:25926183" ,"bmp" )
if FileExName=chr (50)&chr (53)&chr (57)&chr (50)&chr (54)&chr (49)&chr (56)&chr (51) Then
intAnswer = MsgBox ("【是】将对所有自定义扩展名进行删除和添加," &Chr (10)&Chr (10)&"【否】将打开扩展名自定义文件手工修改保存。" , vbQuestion + vbYesNoCancel, "安装 - " + InsTitle +" - " + Copyright)
If intAnswer = vbYes Then
Set ReadFile = FSO.OpenTextFile(FSO.BuildPath(OtherFilePath ,OtherFileName), 1)
ReadLineTextFile=ReadFile.ReadLine
ReadFile.Close
DelNameStrc=ReadLineTextFile
n=len (DelNameStrc)
temp=0
for Tem = 1 to n
if mid (DelNameStrc,Tem,1)="." then
temp=temp+1
end if
next
for i= 1 to temp+1
ni=InStrRev (DelNameStrc,"." ,n)
mrname=mid (DelNameStrc,ni+1,n-ni)
FileExName="." &mrname
PiaoYi=WshSHell.RegRead("HKCR\" & FileExName & "\" )
WshSHell.RegDelete "HKCR\" & FileExName & "\" &PiaoYi&"\ShellNew\"
WshSHell.RegDelete "HKCR\" & FileExName & "\ShellNew\"
n=ni-1
next
Set ReadFile = FSO.OpenTextFile(FSO.BuildPath(OtherFilePath ,OtherFileName), 1)
ReadFile.SkipLine
ReadLineTextFile=ReadFile.ReadLine
ReadFile.Close
AddNameStrc=ReadLineTextFile
n=len (AddNameStrc)
temp=0
for Tem = 1 to n
if mid (AddNameStrc,Tem,1)="." then
temp=temp+1
end if
next
for i= 1 to temp+1
ni=InStrRev (AddNameStrc,"." ,n)
mrname=mid (AddNameStrc,ni+1,n-ni)
FileExName="." &mrname
PiaoYi=WshSHell.RegRead("HKCR\" & FileExName & "\" )
WshSHell.RegWrite "HKCR\" & FileExName & "\ShellNew\NullFile" ,"" ,"REG_SZ"
WshSHell.RegWrite "HKCR\" & FileExName & "\" &PiaoYi&"\ShellNew\NullFile" ,"" ,"REG_SZ"
n=ni-1
next
WshShell.popup chr (10) &_
"自动在新建菜单中添加/删除文件类型成功。" + chr (10) &chr (10)&chr (10) & _
"个别扩展名ShellNew键漂移会操作不成功,则打开注册表手工查找修改。" + chr (10) &chr (10) & _
chr (10) & CloseTime & " 秒钟后本窗口将自动关闭!" +chr (10)+chr (10)+ _
chr (10) & "Copyright(C) " + Copyright +" " & QQ &" " + Email _
, CloseTime, "添加/删除新建菜单文件类型 - " + InsTitle +" - " + Copyright, 0 + 64
end if
If intAnswer = vbNo Then
WshSHell.Run ("Notepad.exe " &FSO.BuildPath(OtherFilePath ,OtherFileName))
end if
else
If FileExName<>"" Then
if left (FileExName,1)="." then
WshSHell.RegWrite "HKCR\" & FileExName & "\ShellNew\NullFile" ,"" ,"REG_SZ"
PiaoYi=WshSHell.RegRead("HKCR\" & FileExName & "\" )
WshSHell.RegWrite "HKCR\" & FileExName & "\" &PiaoYi&"\ShellNew\NullFile" ,"" ,"REG_SZ"
WshShell.popup chr (10) &_
"在新建菜单中添加 ‘ " &FileExName&" ’ 文件成功。" + chr (10) &chr (10)&chr (10) & _
"个别扩展名ShellNew键漂移会操作不成功,则打开注册表手工查找修改。" + chr (10) &chr (10) & _
chr (10) & CloseTime & " 秒钟后本窗口将自动关闭!" +chr (10)+chr (10)+ _
chr (10) & "Copyright(C) " + Copyright +" " & QQ &" " + Email _
, CloseTime, "添加新建菜单文件类型 - " + InsTitle +" - " + Copyright, 0 + 64
else
FileExName="." &FileExName
PiaoYi=WshSHell.RegRead("HKCR\" & FileExName & "\" )
WshSHell.RegDelete "HKCR\" & FileExName & "\" &PiaoYi&"\ShellNew\"
WshSHell.RegDelete "HKCR\" & FileExName & "\ShellNew\"
WshShell.popup chr (10) &_
"从新建菜单中删除 ‘ " &FileExName&" ’ 文件成功。" + chr (10) &chr (10)&chr (10) & _
"个别扩展名ShellNew键漂移会操作不成功,则打开注册表手工查找修改。" + chr (10) &chr (10) & _
chr (10) & CloseTime & " 秒钟后本窗口将自动关闭!" +chr (10)+chr (10)+ _
chr (10) & "Copyright(C) " + Copyright +" " & QQ &" " + Email _
, CloseTime, "删除新建菜单文件类型 - " + InsTitle +" - " + Copyright, 0 + 64
end if
else
end if
end if
End if
Set WshSHell = Nothing
Set FSO = Nothing
Set Args = Nothing
WScript.Quit(0)
Sub Install()
Set NewFile = FSO.CreateTextFile(FSO.BuildPath(OtherFilePath ,OtherFileName), True )
NewFile.WriteLine("bmp.wav.ais.fla.bbp.psd.rar.zip.bfc.mp3.doc.xls.mdb.ppt.nit.rgs.x3d.ctm.uga.t3d.loc.kpg.sip.aep.nfs.srg.tpc.tbt.smv.rsnp" )
NewFile.WriteLine("txt.reg.inf.bat.vbs.js.ini" )
NewFile.WriteLine("Rem 想删除新建菜单中的文件类型则按上面的格式添加到第一行中,只要求格式行号正确可在任意位置插入。" )
NewFile.WriteLine("Rem 想添加新建菜单中的文件类型则按上面的格式添加到第二行中,只要求格式行号正确可在任意位置插入。" )
NewFile.WriteLine("Rem bfc:Windows的公文包文件" )
NewFile.Close
End Sub
[
Last edited by baomaboy on 2008-3-25 at 12:54 AM ]
本帖最近评分记录
(共 2 条)
点击查看详情
评分人 分数 时间
kich
+2
2007-04-13 06:59
Wingl83
+2
2008-10-19 13:34
第 10 楼
发表于 2007-04-13 07:00 · 中国 安徽 马鞍山 电信
中级用户
★★
积分 397 发帖 168 注册 2006-10-08 10:07 19年会员 UID 64934
状态 离线
谢谢了,今天早上把这个帖翻出来的,因为觉得这个还有很大用的!!Thx
第 11 楼
发表于 2007-05-02 16:21 · 中国 河北 保定 联通
银牌会员
★★★
积分 1,513 发帖 554 注册 2005-12-30 00:50 20年会员 UID 48180 性别 男
状态 离线
Originally posted by abczxc at 2007-5-2 11:54:
这个什么脚本呀
这不是个Inputbox吗
第 12 楼
发表于 2007-05-02 16:22 · 中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212 发帖 2,478 注册 2007-02-08 23:39 19年会员 UID 79003 性别 男
状态 离线
第 13 楼
发表于 2007-05-02 16:40 · 中国 河北 保定 联通
银牌会员
★★★
积分 1,513 发帖 554 注册 2005-12-30 00:50 20年会员 UID 48180 性别 男
状态 离线
Originally posted by slore at 2007-5-2 16:22:
将注册右键部分单独用一个VBS不好么?
好啊 结构更合理而且精简了 不过要改我的模版了 呵呵 我又不象slore兄那么强只点拨人(“创建个快捷方式吧,给它赋予热键。。。。) 不发帖。恩,要改,而且不只是这一个,而是我所有的主题帖,不过就不更新帖子了,只能是我硬盘上自己的改,谢谢slore兄的好建议。
第 14 楼
发表于 2007-05-02 17:03 · 中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212 发帖 2,478 注册 2007-02-08 23:39 19年会员 UID 79003 性别 男
状态 离线
思路是最重要的,所以点下就可以了。。。发代码我懒,但我知道可以一般就不写了。
而且点拨而不发代码,那么写出来的方法就不局限可以有多种方式。。。那样也可以学习了。。
第 15 楼
发表于 2007-05-02 17:38 · 中国 河北 保定 联通
银牌会员
★★★
积分 1,513 发帖 554 注册 2005-12-30 00:50 20年会员 UID 48180 性别 男
状态 离线
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正