中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-07 12:02
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » vbs 遍历磁盘搜索文件,会跳过个别目录问题? 查看 914 回复 4
楼 主 vbs 遍历磁盘搜索文件,会跳过个别目录问题? 发表于 2008-01-29 18:24 ·  中国 广东 广州 天河区 电信
初级用户
积分 98
发帖 39
注册 2007-03-16 11:19
19年会员
UID 81943
性别 男
状态 离线
爱虫遍历文件代码:
sub scan(folder_)  'scan函数定义,
  on error resume next   '如果出现错误,直接跳过,防止弹出错误窗口
  set folder_=fso.getfolder(folder_)
     set files=folder_.files   ' 当前目录的所有文件集合
     for each file in filesext=fso.GetExtensionName(file)  '获取文件后缀
     ext=lcase(ext)    '后缀名转换成小写字母
     if ext="mp5" then  '如果后缀名是mp5,则进行感染。请自己建立相应后缀名的文件,最好是非正常后缀名 ,以免破坏正常程序。
    Wscript.echo (file)
   end if
  next
  set subfolders=folder_.subfolders
  for each subfolder in subfolders  '搜索其他目录;递归调用
   scan( )
   scan(subfolder)
  next
  end sub

用这个代码进行全盘搜索时会有个别目录跳过不扫描(我电脑上就是windows目录),去掉容错语句就会提示没有权限,
这位兄弟也提到了,代码都是差不多:
http://www.cn-dos.net/forum/viewthread.php?tid=30774&fpage=1&highlight=vbs%2B%E6%90%9C%E7%B4%A2

当指定c:\windows来扫描的时候就不会提示没有权限.不明白是什么原因,请高人指点一下?
2 发表于 2008-01-30 15:46 ·  中国 广东 广州 天河区 电信
初级用户
积分 98
发帖 39
注册 2007-03-16 11:19
19年会员
UID 81943
性别 男
状态 离线
怎么都没人讨论一下这个呢,批处理的遍历就有了,似乎VBS遍历磁盘都没有一个很好的方案.呵呵?
3 发表于 2008-01-30 15:52 ·  中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493
发帖 2,315
注册 2006-05-01 10:41
20年会员
UID 54766
性别 男
来自 上海
状态 离线
这里讨论DOS,CMD批处理为主,DOS,CMD解决不了的问题才考虑VBS脚本
wmic能遍历硬盘上某文件,VBS当然轻而一举的了
第一高手 第二高手

4 发表于 2008-01-30 16:29 ·  中国 广东 广州 天河区 电信
初级用户
积分 98
发帖 39
注册 2007-03-16 11:19
19年会员
UID 81943
性别 男
状态 离线
Originally posted by fastslz at 2008-1-30 03:52 PM:
这里讨论DOS,CMD批处理为主,DOS,CMD解决不了的问题才考虑VBS脚本
wmic能遍历硬盘上某文件,VBS当然轻而一举的了


这里讨论DOS,CMD批处理为主;--明白
wmic能遍历硬盘上某文件--似乎有点了解

只是不明白为什么上面的递归遍历会跳过个别目录?
还有.暂时也没搜索到比较完好的遍历磁盘搜文件代码.
5 发表于 2008-01-30 16:31 ·  中国 广东 广州 天河区 电信
初级用户
积分 98
发帖 39
注册 2007-03-16 11:19
19年会员
UID 81943
性别 男
状态 离线
还是就是对DOS了解真是甚忽,自己在学着vbs,所以希望能有vbs的解决方法.
论坛跳转: