中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-13 03:56
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 中毒后恢复隐藏文件夹的一个问题 查看 1,276 回复 10
楼 主 中毒后恢复隐藏文件夹的一个问题 发表于 2010-01-17 10:22 ·  中国 广东 广州 联通
新手上路
积分 15
发帖 11
注册 2010-01-15 00:57
16年会员
UID 158685
性别 男
状态 离线
现在拿u盘去打印店里打印一般都会中一个把所有根目录下的文件和文件夹都隐藏的病毒,
一般在u盘根目录下建一个批处理文件,内容如下:
attrib -h -s -a -r /D /S

就可以把问题解决,但是当目录树庞大的时候(我的是8G的u盘,装了不少文件),将要耗费很多时间才能处理完

因为 这个选项 /S:处理当前文件夹及其子文件夹中的匹配文件

我想问大家有没有办法只处理根目录下的文件夹和文件而不处理子文件夹下的呢
2 发表于 2010-01-17 12:48 ·  中国 广东 韶关 电信
高级用户
★★★
CMD感染者
积分 691
发帖 383
注册 2008-05-23 00:38
18年会员
UID 119451
性别 男
状态 离线
去掉/S
3 发表于 2010-01-17 13:15 ·  中国 广东 广州 联通
新手上路
积分 15
发帖 11
注册 2010-01-15 00:57
16年会员
UID 158685
性别 男
状态 离线
不行的,去掉/s之后就不能改变文件夹的属性了,只能改变文件的属性
4 发表于 2010-01-17 15:15 ·  中国 重庆 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
用for /d遍历文件夹如何?
5 发表于 2010-01-17 16:12 ·  中国 上海 电信
新手上路
积分 12
发帖 10
注册 2009-10-04 12:03
16年会员
UID 152600
性别 男
来自 海南
状态 离线
我也想知道!
6 发表于 2010-01-17 16:30 ·  中国 广东 广州 联通
新手上路
积分 15
发帖 11
注册 2010-01-15 00:57
16年会员
UID 158685
性别 男
状态 离线
这样也不能解决问题,
attrib -h -s -a -r %%c /D /S时也会对改文件夹下的文件及文件夹进行操作
7 发表于 2010-01-17 16:51 ·  中国 广东 广州 联通
新手上路
积分 15
发帖 11
注册 2010-01-15 00:57
16年会员
UID 158685
性别 男
状态 离线
不好意思啊,我忘记了命令的用法,二楼的说的是正确的,去掉/s 和/d 就可以了
我的代码是这样的,因为不太会用for,希望有人帮我把它改成一行代码,同时不用生成a.txt文件
dir/b/a>a.txt
for /f %%c in (a.txt) do attrib -h -s -a -r %%c

我发现段代码不可以处理中间有空格的文件或文件夹哦,希望高人指教啊

[ Last edited by vzdong on 2010-1-17 at 16:56 ]
8 发表于 2010-01-17 18:09 ·  中国 广东 广州 联通
新手上路
积分 15
发帖 11
注册 2010-01-15 00:57
16年会员
UID 158685
性别 男
状态 离线
for /d %%c in (*) do attrib -h -s -a -r %%c

没有效果啊 for /d 不可以对隐藏文件夹进行检索啊
9 发表于 2010-01-17 18:09 ·  中国 广东 广州 联通
新手上路
积分 15
发帖 11
注册 2010-01-15 00:57
16年会员
UID 158685
性别 男
状态 离线
Originally posted by HAT at 2010-1-17 15:15:
用for /d遍历文件夹如何?

for /d %%c in (*) do attrib -h -s -a -r %%c

没有效果啊 for /d 不可以对隐藏文件夹进行检索啊
10 Re 7楼 发表于 2010-01-17 18:10 ·  中国 重庆 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
给for循环加上delims=即可处理空格
11 发表于 2010-01-17 19:46 ·  中国 广东 广州 联通
新手上路
积分 15
发帖 11
注册 2010-01-15 00:57
16年会员
UID 158685
性别 男
状态 离线
Originally posted by HAT at 2010-1-17 18:10:
给for循环加上delims=即可处理空格

多谢啦,一边学一边改,现在成这样子了
for /f "delims=" %%c in ('dir /b /a') do attrib -h -s -a -r "%%c"
论坛跳转: