中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-03 07:40
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 中毒了....为什么用for列出病毒文件却无法删除? 查看 913 回复 6
楼 主 中毒了....为什么用for列出病毒文件却无法删除? 发表于 2007-02-07 05:25 ·  中国 浙江 温州 电信
中级用户
★★
积分 458
发帖 196
注册 2006-10-05 12:04
19年会员
UID 64614
状态 离线
前几天被朋友催着开了一个传奇私服给他们玩,没几天就关了

结果这几天程序老是出错,全是和winsock.dll有关的

刚刚才发现整个硬盘的所有目录下都有一个隐藏的wsock32.dll

查了一下才知道是一个老木马,专盗传奇号的

卡巴竟然没反应:mad:只好自已手动来

用for /f %a in ('dir /a/s wsock32.dll|find ":\"')查找出所有分区的病毒共508个

但do后边del "%a"\wsock.dll却提示找不到文件

是隐藏的原因吗,要怎么解决

我用系统的搜索功能查出来才62个,差太多应该清不干净吧:(
2 发表于 2007-02-07 05:37 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
19年会员
UID 63486
来自 河北廊坊
状态 离线
del后面加参数就行了。
具体请在命令行下输入del/?
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
3 发表于 2007-02-07 06:39 ·  中国 吉林 四平 联通
高级用户
★★★
积分 859
发帖 413
注册 2006-08-14 21:55
19年会员
UID 60532
状态 离线
楼主的 这句,我看不懂
'dir /a/s wsock32.dll|find ":\"'
为什么find “:\"
??
4 发表于 2007-02-07 07:16 ·  中国 北京 联通
初级用户
积分 47
发帖 24
注册 2007-01-09 00:03
19年会员
UID 75873
性别 男
状态 离线
Originally posted by anqing at 2007-2-6 05:39 PM:
为什么find “:\"

因为楼主说
所有目录下都有一个隐藏的wsock32.dll
所以用find ":\"可以过滤出目录,而不列出文件。

to:楼主
因为del删除不了隐藏的文件,以及有系统属性的文件。所以在do后先加一句
attrib -s -h -r "%a\wsock32.dll"
就行了。

用搜索功能的话需要在高级选项中选中搜索隐藏及系统的选项。
5 发表于 2007-02-07 07:29 ·  中国 吉林 四平 联通
高级用户
★★★
积分 859
发帖 413
注册 2006-08-14 21:55
19年会员
UID 60532
状态 离线
dir /a/s wsock32.dll|find ":\"
这一句,能显示硬盘的所有目录吗?
我单独运行dir /a/s只显示当前的目录???
6 发表于 2007-02-07 07:37 ·  中国 吉林 四平 联通
高级用户
★★★
积分 859
发帖 413
注册 2006-08-14 21:55
19年会员
UID 60532
状态 离线
for /f %a in ('dir /a/s wsock32.dll|find ":\"')
所列出的软件目录,前面有一个空格,楼主用加“”的方法过滤了,可是还有“的目录”,不用过滤吗???
7 发表于 2007-02-07 11:27 ·  中国 北京 联通
初级用户
积分 47
发帖 24
注册 2007-01-09 00:03
19年会员
UID 75873
性别 男
状态 离线
dir /a/s wsock32.dll|find ":\"
这一句,能显示硬盘的所有目录吗?
我单独运行dir /a/s只显示当前的目录???

这要看你当前目录是在哪了,如果你当前目录没有子目录当然只显示当前目录了。具体请查看 /s 的含义。
for /f %a in ('dir /a/s wsock32.dll|find ":\"')
所列出的软件目录,前面有一个空格,楼主用加“”的方法过滤了,可是还有“的目录”,不用过滤吗???

在 for 中,如果不指定token关键字,默认总是取第一个字段的。也就是如果列举出来的目录中如果不含有空格,那么 %a 只会表示为该目录的路径,而不会含有 “的目录”这三个字。

不过如果路径中含有空格就出错了。不好意思,我刚才也没仔细看。楼主的代码还有待改善。
论坛跳转: