设为首页收藏本站

SKY外语、计算机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2117|回复: 0
打印 上一主题 下一主题

使用递归 搜索文件

[复制链接]

60

主题

8

好友

1161

积分

金牌会员

Rank: 6Rank: 6

生肖
星座
处女座
性别

最佳新人 活跃会员 灌水之王 论坛元老

跳转到指定楼层
楼主
发表于 2012-5-14 20:13:37 |只看该作者 |倒序浏览
本帖最后由 sky_yx 于 2015-12-30 14:22 编辑
  1. 加一个list
  2. Function SearchFiles(Path As String, FileType As String)
  3. Dim Files() As String '文件路径
  4. Dim Folder() As String '文件夹路径
  5. Dim a, b, c As Long
  6. Dim sPath As String
  7. sPath = Dir(Path & FileType) '查找第一个文件
  8. Do While Len(sPath) '循环到没有文件为止
  9. a = a + 1
  10. ReDim Preserve Files(1 To a)
  11. Files(a) = Path & sPath '将文件目录和文件名组合,并存放到数组中
  12. List1.AddItem Files(a) '加入list控件中
  13. sPath = Dir '查找下一个文件
  14. DoEvents '让出控制权
  15. Loop
  16. sPath = Dir(Path & "\", vbDirectory) '查找第一个文件夹
  17. Do While Len(sPath) '循环到没有文件夹为止
  18. If Left(sPath, 1) <> "." Then '为了防止重复查找
  19. If GetAttr(Path & "\" & sPath) And vbDirectory Then '如果是文件夹则。。。。。。
  20. b = b + 1
  21. ReDim Preserve Folder(1 To b)
  22. Folder(b) = Path & sPath & "\" '将目录和文件夹名称组合形成新的目录,并存放到数组中
  23. End If
  24. End If
  25. sPath = Dir '查找下一个文件夹
  26. DoEvents '让出控制权
  27. Loop
  28. For c = 1 To b '使用递归方法,遍历所有目录
  29. SearchFiles Folder(c), FileType
  30. Next
  31. End Function
  32. Private Sub Command1_Click() '调用
  33. SearchFiles "c:\", "*.txt"
  34. End Sub
复制代码


分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
分享淘帖0 收藏收藏0 评分评分
你老婆要生了。我要当爹了
您需要登录后才可以回帖 登录 | 立即注册


手机版|SKY外语计算机学习 ( 粤ICP备12031577 )    

GMT+8, 2024-4-26 05:38 , Processed in 0.120291 second(s), 27 queries .

回顶部