中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 傻瓜式 【右键菜单 显示隐藏扩展名及文件】
作者:
标题: 傻瓜式 【右键菜单 显示隐藏扩展名及文件】 上一主题 | 下一主题
kidzgy
中级用户





积分 262
发帖 129
注册 2007-7-11
状态 离线
『楼 主』:  傻瓜式 【右键菜单 显示隐藏扩展名及文件】











不废话了,看图。

显示隐藏对象: 扩展名、隐藏文件夹及文件、系统文件

安装: 直接双击批处理程序
卸载: 再双击批处理程序


--------------->>>点击下载<<<---------------

以下是源码:  代码很简单,而且我也不是什么高手,那个FOR命令我还是从别人复制自己改改的。我相信还有很多地方是很粗略的。
@echo off
mode con cols=41 lines=4
title 右键菜单 显示/隐藏扩展名及文件
color 0b
if not exist "%windir%\SuperHidden.vbs" goto setup
reg delete "HKCR\CLSID\{00000000-0000-0000-0000-000000000012}" /f >nul 2>nul
del /f /q "%windir%\SuperHidden.vbs" >nul 2>nul
echo.&echo 卸除完毕。
pause>nul
exit


:setup
color 0a
>"%windir%\SuperHidden.vbs" echo Dim WSHShell
>>"%windir%\SuperHidden.vbs" echo Set WSHShell = WScript.CreateObject("WScript.Shell")

>>"%windir%\SuperHidden.vbs" echo WSHShell.RegWrite "HKCR\CLSID\{00000000-0000-0000-0000-000000000012}\Instance\InitPropertyBag\CLSID", "{13709620-C279-11CE-A49E-444553540000}", "REG_SZ"

>>"%windir%\SuperHidden.vbs" echo WSHShell.RegWrite "HKCR\CLSID\{00000000-0000-0000-0000-000000000012}\Instance\InitPropertyBag\method", "ShellExecute", "REG_SZ"

>>"%windir%\SuperHidden.vbs" echo if WSHShell.RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\HideFileExt") = 0 then
>>"%windir%\SuperHidden.vbs" echo WSHShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\ShowSuperHidden", "0", "REG_DWORD"
>>"%windir%\SuperHidden.vbs" echo WSHShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Hidden", "2", "REG_DWORD"
>>"%windir%\SuperHidden.vbs" echo WSHShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\HideFileExt", "1", "REG_DWORD"
>>"%windir%\SuperHidden.vbs" echo WSHShell.RegWrite "HKCR\CLSID\{00000000-0000-0000-0000-000000000012}\Instance\InitPropertyBag\command", "显示", "REG_SZ"
>>"%windir%\SuperHidden.vbs" echo WSHShell.SendKeys "{F5}+{F10}e"

>>"%windir%\SuperHidden.vbs" echo else

>>"%windir%\SuperHidden.vbs" echo WSHShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\ShowSuperHidden", "1", "REG_DWORD"
>>"%windir%\SuperHidden.vbs" echo WSHShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Hidden", "1", "REG_DWORD"
>>"%windir%\SuperHidden.vbs" echo WSHShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\HideFileExt", "0", "REG_DWORD"
>>"%windir%\SuperHidden.vbs" echo WSHShell.RegWrite "HKCR\CLSID\{00000000-0000-0000-0000-000000000012}\Instance\InitPropertyBag\command", "隐藏", "REG_SZ"
>>"%windir%\SuperHidden.vbs" echo WSHShell.SendKeys "{F5}+{F10}e"

>>"%windir%\SuperHidden.vbs" echo end if

>>"%windir%\SuperHidden.vbs" echo Set WSHShell = Nothing
>>"%windir%\SuperHidden.vbs" echo WScript.Quit(0)

reg export "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" "%temp%\__.reg" >nul
for /f "tokens=2 delims==" %%. in ('find/i "HideFileExt" "%temp%\__.reg"') do set v=%%~.
del "%temp%\__.reg"
set v=%v:~-1%
if %v% equ 0 set vv=隐藏
if %v% equ 1 set vv=显示

>"%temp%\_.reg" echo REGEDIT4
>>"%temp%\_.reg" echo [HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMenuHandlers\SuperHidden]
>>"%temp%\_.reg" echo @="{00000000-0000-0000-0000-000000000012}"
>>"%temp%\_.reg" echo [HKEY_CLASSES_ROOT\CLSID\{00000000-0000-0000-0000-000000000012}\InProcServer32]
>>"%temp%\_.reg" echo @=hex(2):25,53,79,73,74,65,6d,52,6f,6f,74,25,5c,73,79,73,74,65,6d,33,32,5c,73,\
>>"%temp%\_.reg" echo   68,64,6f,63,76,77,2e,64,6c,6c,00
>>"%temp%\_.reg" echo "ThreadingModel"="Apartment"
>>"%temp%\_.reg" echo [HKEY_CLASSES_ROOT\CLSID\{00000000-0000-0000-0000-000000000012}\Instance]
>>"%temp%\_.reg" echo "CLSID"="{3f454f0e-42ae-4d7c-8ea3-328250d6e272}"
>>"%temp%\_.reg" echo [HKEY_CLASSES_ROOT\CLSID\{00000000-0000-0000-0000-000000000012}\Instance\InitPropertyBag]
>>"%temp%\_.reg" echo "method"="ShellExecute"
>>"%temp%\_.reg" echo "Param1"="SuperHidden.vbs"
>>"%temp%\_.reg" echo "CLSID"="{13709620-C279-11CE-A49E-444553540000}"
>>"%temp%\_.reg" echo "command"="%vv%"
regedit /s "%temp%\_.reg"
del /f /q "%temp%\_.reg"
echo.&echo 已添加右键 %vv% 。
pause>nul
exit
[ Last edited by kidzgy on 2008-7-29 at 09:16 AM ]

   此帖被 +8 点积分      点击查看详情   
评分人:【 slore 分数: +8  时间:2008-7-29 10:39


2008-7-29 09:11
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
523066680
银牌会员

SuperCleaner


积分 2362
发帖 1133
注册 2008-2-2
状态 离线
『第 2 楼』:  

《香飘飘》--"you are very strong!"



综合型编程论坛

我的作品索引
  
2008-7-29 09:45
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (523066680)  编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 3 楼』:  

谢谢提供的注册表位置



S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
2008-7-29 10:39
查看资料  发短消息 网志   编辑帖子  回复  引用回复
mgq
中级用户





积分 206
发帖 103
注册 2008-5-6
来自 广东 肇庆
状态 离线
『第 4 楼』:  

很好用。

2008-7-29 12:10
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
radem
高级用户

CMD感染者


积分 691
发帖 383
注册 2008-5-23
状态 离线
『第 5 楼』:  

Win Xp Sp2环境无效
  +++ 鉴定完毕 +++


  有错必纠
原来测试不知道怎么回事,右键菜单没有变化
后来再试时却有了

[ Last edited by radem on 2008-7-29 at 03:10 PM ]



2008-7-29 12:30
查看资料  发短消息 网志   编辑帖子  回复  引用回复
kidzgy
中级用户





积分 262
发帖 129
注册 2007-7-11
状态 离线
『第 6 楼』:  

我不知道上楼的怎么回事哦,我的就是XP SP2的。

噢~虚惊一场,呵呵·~

[ Last edited by kidzgy on 2008-7-30 at 08:16 AM ]

2008-7-29 14:37
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
kidzgy
中级用户





积分 262
发帖 129
注册 2007-7-11
状态 离线
『第 7 楼』:  

不知道哪位兄台能帮我的代码精简一下噢~

我觉得那么多echo好麻烦

2008-7-31 10:10
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Wingl83
初级用户





积分 109
发帖 65
注册 2008-7-28
状态 离线
『第 8 楼』:  

我的被金山禁止了……

2008-8-6 18:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
DJ131452DJ
初级用户




积分 50
发帖 44
注册 2008-12-7
状态 离线
『第 9 楼』:  

谢谢L

2009-1-23 00:19
查看资料  发短消息 网志  OICQ (450775589)  编辑帖子  回复  引用回复
pkto
初级用户





积分 62
发帖 62
注册 2007-7-14
状态 离线
『第 10 楼』:  

这个功能真的很实用,而且代码也很清晰。操作的位置、对象都很明确,实在是入门学习的典范。估计要想精简的话,必须要用第三方工具了——不过偶不赞成那么做,还是系统自带的环境操作方便。

2009-1-23 10:11
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zhengqian529
初级用户





积分 100
发帖 93
注册 2009-1-14
来自 湖南
状态 离线
『第 11 楼』:  

请问楼主:CLSID下面的那么多键值是怎么取得的呢?

2009-1-23 10:37
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (250988158)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: