中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-03 08:38
48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 中毒了....为什么用for列出病毒文件却无法删除?
可打印版本  914 / 6
第1楼 zerocq 发表于 2007-02-07 05:25
中级用户 发帖 196 积分 458
中毒了....为什么用for列出病毒文件却无法删除?
前几天被朋友催着开了一个传奇私服给他们玩,没几天就关了

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

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

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

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

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

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

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

我用系统的搜索功能查出来才62个,差太多应该清不干净吧:(
第2楼 ccwan 发表于 2007-02-07 05:37
金牌会员 发帖 1,160 积分 2,725 来自 河北廊坊
del后面加参数就行了。
具体请在命令行下输入del/?
第3楼 anqing 发表于 2007-02-07 06:39
高级用户 发帖 413 积分 859
楼主的 这句,我看不懂
'dir /a/s wsock32.dll|find ":\"'
为什么find “:\"
??
第4楼 kernelv 发表于 2007-02-07 07:16
初级用户 发帖 24 积分 47
Originally posted by anqing at 2007-2-6 05:39 PM:
为什么find “:\"

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

to:楼主
因为del删除不了隐藏的文件,以及有系统属性的文件。所以在do后先加一句就行了。

用搜索功能的话需要在高级选项中选中搜索隐藏及系统的选项。
第5楼 anqing 发表于 2007-02-07 07:29
高级用户 发帖 413 积分 859
dir /a/s wsock32.dll|find ":\"
这一句,能显示硬盘的所有目录吗?
我单独运行dir /a/s只显示当前的目录???
第6楼 anqing 发表于 2007-02-07 07:37
高级用户 发帖 413 积分 859
for /f %a in ('dir /a/s wsock32.dll|find ":\"')
所列出的软件目录,前面有一个空格,楼主用加“”的方法过滤了,可是还有“的目录”,不用过滤吗???
第7楼 kernelv 发表于 2007-02-07 11:27
初级用户 发帖 24 积分 47
dir /a/s wsock32.dll|find ":\"
这一句,能显示硬盘的所有目录吗?
我单独运行dir /a/s只显示当前的目录???

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

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

不过如果路径中含有空格就出错了。不好意思,我刚才也没仔细看。楼主的代码还有待改善。
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023