用戶登錄  |  用戶注冊
首 頁源碼下載網絡學院最新源碼源碼排行屏蔽廣告
當前位置:新興網絡 > 網絡學院 > 編程開發 > Visual Basic

VB 遍歷指定目錄及子目錄所有文件函數

減小字體 增大字體 作者:佚名  來源:本站整理  發布時間:2010-07-08 09:38:49

 這個函數可以遍歷指定一個目錄下的所有文件,包括子目錄.也可以指定文件類型遍歷。

VBScript code復制代碼
Private Function SearchFiles(Path As String, FileType As String)
    Dim Files()  As String '文件路徑
    Dim Folder() As String '文件夾路徑
    Dim a, b, c As Long
    Dim sPath As String
    If Right(Path, 1) <> "\" Then Path = Path & "\"
    sPath = Dir(Path & FileType) '查找第一個文件

    Do While Len(sPath) '循環到沒有文件為止
        a = a + 1
        ReDim Preserve Files(1 To a)
        Files(a) = Path & sPath '將文件目錄和文件名組合,并存放到數組中
        List1.AddItem Files(a) '加入list控件中
        sPath = Dir '查找下一個文件

        DoEvents '讓出控制權
    Loop

    sPath = Dir(Path & "\", vbDirectory) '查找第一個文件夾

    Do While Len(sPath) '循環到沒有文件夾為止

        If Left(sPath, 1) <> "." Then '為了防止重復查找
            If GetAttr(Path & "\" & sPath) And vbDirectory Then '如果是文件夾則。。。。。。
                b = b + 1
                ReDim Preserve Folder(1 To b)
                Folder(b) = Path & sPath & "\" '將目錄和文件夾名稱組合形成新的目錄,并存放到數組中
            End If
        End If

        sPath = Dir '查找下一個文件夾

        DoEvents '讓出控制權
    Loop

    For c = 1 To b '使用遞歸方法,遍歷所有目錄
        SearchFiles Folder(c), FileType
    Next

End Function

'調用示例
Private Sub Form_Load()

    ' * 星號表示多個任意字符
     SearchFiles "C:\Program Files\WinRAR\", "*" '查找所有文件
    
  '  SearchFiles "C:\Program Files\WinRAR\", "*.exe" '查找所有exe文件
  '  SearchFiles "C:\Program Files\WinRAR\", "*in*.exe" '查找文件名中包含有 in 的exe文件

End Sub

Tags:VB 文件遍歷

作者:佚名
  • 好的評價 如果您覺得此文章好,就請您
      88%(14)
  • 差的評價 如果您覺得此文章差,就請您
      13%(2)

網絡學院評論評論內容只代表網友觀點,與本站立場無關!

   評論摘要(共 3 條,得分 300 分,平均 100 分) 查看完整評論
[回復] 3游客   打分:100 分  發表時間:2016-01-19
· 查找文件沒有問題,似乎不能查找第一個文件夾。
[回復] 2游客   打分:100 分  發表時間:2015-10-29
· 我用到了.
[回復] 1vb游客   打分:100 分  發表時間:2015-06-25
· 很好,非常有用!
美国百家乐注册