中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-12 18:49
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已解决的问题]去掉隐藏文件夹隐藏属性的批处理 查看 3,626 回复 11
楼 主 [已解决的问题]去掉隐藏文件夹隐藏属性的批处理 发表于 2008-05-15 17:33 ·  中国 云南 昆明 电信
初级用户
积分 64
发帖 27
注册 2007-03-08 21:35
19年会员
UID 81100
性别 男
状态 离线
求显示隐藏文件夹的批处理
近期U盘老是中毒 导致里面的文件夹都被隐藏了
怎么用个批处理去掉这些文件夹的隐藏属性..
顺便给点解释 本人批处理学了一点点 但很菜..

[ Last edited by Auto on 2008-5-17 at 09:46 AM ]
2 发表于 2008-05-15 19:21 ·  中国 上海 鹏博士宽带
中级用户
★★
积分 484
发帖 250
注册 2007-06-05 23:33
19年会员
UID 90372
性别 男
状态 离线
dir /a
attrib -s -h -r
3 发表于 2008-05-15 19:27 ·  中国 云南 昆明 电信
初级用户
积分 64
发帖 27
注册 2007-03-08 21:35
19年会员
UID 81100
性别 男
状态 离线
Originally posted by pooronce at 2008-5-15 07:21 PM:
dir /a
attrib -s -h -r

这个我知道 比较麻烦
想要个自动化程度高的批处理
能够一运行就把当前目录下所有隐藏文件夹都给显示出来
4 发表于 2008-05-15 19:35 ·  中国 重庆 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
不是文件夹被隐藏了,而是注册表被修改了。
将以下代码保存为ShowAll.reg,双击导入注册表即可查看隐藏文件。

Windows Registry Editor Version 5.00


"RegPath"="Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced"
"Text"="@shell32.dll,-30501"
"Type"="radio"
"CheckedValue"=dword:00000002
"ValueName"="Hidden"
"DefaultValue"=dword:00000002
"HKeyRoot"=dword:80000001
"HelpID"="shell.hlp#51104"

"RegPath"="Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced"
"Text"="@shell32.dll,-30500"
"Type"="radio"
"CheckedValue"=dword:00000001
"ValueName"="Hidden"
"DefaultValue"=dword:00000002
"HKeyRoot"=dword:80000001
"HelpID"="shell.hlp#51105"

"Type"="checkbox"
"Text"="@shell32.dll,-30508"
"WarningIfNotDefault"="@shell32.dll,-28964"
"HKeyRoot"=dword:80000001
"RegPath"="Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced"
"ValueName"="ShowSuperHidden"
"CheckedValue"=dword:00000000
"UncheckedValue"=dword:00000001
"DefaultValue"=dword:00000000
"HelpID"="shell.hlp#51103"

5 发表于 2008-05-16 15:10 ·  中国 云南 昆明 电信
初级用户
积分 64
发帖 27
注册 2007-03-08 21:35
19年会员
UID 81100
性别 男
状态 离线
我想要去掉这些文件夹的隐藏属性啊..
继续求助
还是谢谢楼上的
6 发表于 2008-05-16 15:16 ·  中国 上海 联通
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
Originally posted by Auto at 2008-5-16 03:10 PM:
我想要去掉这些文件夹的隐藏属性啊..
继续求助
还是谢谢楼上的

@echo off
set SrcDir=C:\test
for /f "tokens=1* delims=" %%a in ('dir /s /b /ad "%SrcDir%"') do (
attrib -h -s -a -r "%SrcDir%\%%a"
)
7 发表于 2008-05-16 22:53 ·  中国 北京 联通
银牌会员
★★★
积分 1,287
发帖 634
注册 2007-05-02 15:06
19年会员
UID 87277
性别 男
来自 cmd.exe
状态 离线
dir /AHD /s /b
然后参照LS的代码加FOR
8 发表于 2008-05-17 09:27 ·  中国 云南 昆明 电信
初级用户
积分 64
发帖 27
注册 2007-03-08 21:35
19年会员
UID 81100
性别 男
状态 离线
@echo off
set SrcDir=D:\Tools\test
for /f "tokens=1* delims=" %%a in ('dir /AHD /s /b "%SrcDir%"') do (
attrib -h -s -a -r "%SrcDir%\%%a"
)
pause

我运行上面那个 出现下面的提示
找不到路径 - D:\Tools\test\D:\Tools\test
找不到路径 - D:\Tools\test\D:\Tools\test
找不到路径 - D:\Tools\test\D:\Tools\test
找不到路径 - D:\Tools\test\D:\Tools\test
请按任意键继续. . .

经摸索 才发现..
dir那句应该要去掉/s这个参数..


还求某位来改进一下
就是把这个批处理放到那个文件夹下 运行后就能去掉当前文件夹里的隐藏文件夹的隐藏属性
就是怎么把变量SrcDir的值换成当前路径..

[ Last edited by Auto on 2008-5-17 at 09:29 AM ]
9 发表于 2008-05-17 09:44 ·  中国 云南 昆明 电信
初级用户
积分 64
发帖 27
注册 2007-03-08 21:35
19年会员
UID 81100
性别 男
状态 离线
经上面各位的指导和本人的摸索
我要的批处理应该这样吧

:: 去掉当前文件夹里子文件夹的隐藏属性
@echo off
for /f "tokens=1* delims=" %%a in ('dir /adh /b') do (
attrib -h -s -a -r ".\%%a"
)




谢谢上面各位仁兄.

[ Last edited by Auto on 2008-5-17 at 09:46 AM ]
10 发表于 2009-12-16 00:26 ·  中国 江西 上饶 电信
初级用户
积分 31
发帖 24
注册 2009-04-04 10:37
17年会员
UID 142105
性别 男
状态 离线
hao tie
11 发表于 2009-12-16 01:44 ·  中国 天津 电信
初级用户
★★
积分 128
发帖 122
注册 2009-09-21 06:24
16年会员
UID 152378
性别 男
状态 离线
先用4楼的,把注册表改好,显示出所有的隐藏文件及系统文件,再直接把隐藏的文件拖到这个批处理上:
attrib -s -h %1
简单明了
12 发表于 2009-12-16 21:19 ·  中国 江西 上饶 广信区 电信
初级用户
积分 31
发帖 24
注册 2009-04-04 10:37
17年会员
UID 142105
性别 男
状态 离线
好贴 对自己很有帮助
论坛跳转: