中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-11 06:36
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 傻瓜式 【右键菜单 显示隐藏扩展名及文件】 查看 1,581 回复 10
楼 主 傻瓜式 【右键菜单 显示隐藏扩展名及文件】 发表于 2008-07-29 09:11 ·  中国 广东 梅州 电信
中级用户
★★
积分 262
发帖 129
注册 2007-07-11 06:50
19年会员
UID 93679
性别 男
状态 离线










不废话了,看图。

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

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


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

以下是源码: 代码很简单,而且我也不是什么高手,那个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
>>"%temp%\_.reg" echo @="{00000000-0000-0000-0000-000000000012}"
>>"%temp%\_.reg" echo
>>"%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
>>"%temp%\_.reg" echo "CLSID"="{3f454f0e-42ae-4d7c-8ea3-328250d6e272}"
>>"%temp%\_.reg" echo
>>"%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 ]
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
slore +8 2008-07-29 10:39
2 发表于 2008-07-29 09:45 ·  中国 广东 广州 电信
银牌会员
★★★★
SuperCleaner
积分 2,362
发帖 1,133
注册 2008-02-02 21:36
18年会员
UID 110072
性别 男
状态 离线
《香飘飘》--"you are very strong!"
3 发表于 2008-07-29 10:39 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
谢谢提供的注册表位置
S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
4 发表于 2008-07-29 12:10 ·  中国 广东 肇庆 电信
中级用户
★★
积分 206
发帖 103
注册 2008-05-06 16:59
18年会员
UID 117911
性别 男
来自 广东 肇庆
状态 离线
很好用。
5 发表于 2008-07-29 12:30 ·  中国 广东 韶关 电信
高级用户
★★★
CMD感染者
积分 691
发帖 383
注册 2008-05-23 00:38
18年会员
UID 119451
性别 男
状态 离线
Win Xp Sp2环境无效
+++ 鉴定完毕 +++


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

[ Last edited by radem on 2008-7-29 at 03:10 PM ]
6 发表于 2008-07-29 14:37 ·  中国 广东 梅州 电信
中级用户
★★
积分 262
发帖 129
注册 2007-07-11 06:50
19年会员
UID 93679
性别 男
状态 离线
我不知道上楼的怎么回事哦,我的就是XP SP2的。

噢~虚惊一场,呵呵·~

[ Last edited by kidzgy on 2008-7-30 at 08:16 AM ]
7 发表于 2008-07-31 10:10 ·  中国 广东 梅州 电信
中级用户
★★
积分 262
发帖 129
注册 2007-07-11 06:50
19年会员
UID 93679
性别 男
状态 离线
不知道哪位兄台能帮我的代码精简一下噢~

我觉得那么多echo好麻烦
8 发表于 2008-08-06 18:22 ·  中国 广东 广州 电信
初级用户
★★
积分 109
发帖 65
注册 2008-07-28 22:04
18年会员
UID 122281
性别 女
状态 离线
我的被金山禁止了……
9 发表于 2009-01-23 00:19 ·  中国 广东 东莞 电信
初级用户
积分 50
发帖 44
注册 2008-12-07 13:05
17年会员
UID 133134
性别 男
状态 离线
谢谢L
10 发表于 2009-01-23 10:11 ·  中国 江苏 南京 电信
初级用户
★★
积分 62
发帖 62
注册 2007-07-14 14:39
19年会员
UID 93962
性别 男
状态 离线
这个功能真的很实用,而且代码也很清晰。操作的位置、对象都很明确,实在是入门学习的典范。估计要想精简的话,必须要用第三方工具了——不过偶不赞成那么做,还是系统自带的环境操作方便。
11 发表于 2009-01-23 10:37 ·  美国 华盛顿州 金 雷德蒙德 Microsoft
初级用户
★★
积分 100
发帖 93
注册 2009-01-14 15:04
17年会员
UID 136661
性别 男
来自 湖南
状态 离线
请问楼主:CLSID下面的那么多键值是怎么取得的呢?
论坛跳转: