當前位置:編程學習大全網 - 編程語言 - vb.net 搜索子目錄下的文件

vb.net 搜索子目錄下的文件

vb.net編程查找搜索指定目錄下面的所有文件和其子目錄下的文件,方法如下:

''=============================================

''名稱:?FindPath

''作用:?查找搜索指定目錄下面的所有文件和其子目錄下的文件

''參數:strPath?要查找的目錄,

''strFiles?用於存查找結果的緩沖區,String?類型的動態數組,調用時事先初始化,?如Redim?strFiles(0)

''FileCount?用於返回文件個數

''=============================================

Public?Sub?FindPath(ByVal?strPath?As?String,?strFiles()?As?String,?FileCount?As?Long)

Dim?strDirs()As?String

Dim?strResultAs?String

Dim?FileLimitAs?Long

Dim?dirLimitAs?Long

Dim?dirCountAs?Long

Dim?IAs?Long

FileLimit?=?UBound(strFiles)?+?1

dirLimit?=?0

If?Right$(strPath,?1)?<>?"/"?Then?strPath?=?strPath?&?"/"

strResult?=?Dir(strPath,?vbDirectory?+?vbSystem?+?vbReadOnly?+?vbHidden?+?vbNormal?+?vbArchive)

Do?While?Len(strResult)?>?0

If?strResult?<>?"."?And?strResult?<>?".."?Then

If?(GetAttr(strPath?&?strResult)?And?vbDirectory)?<>?vbDirectory?Then

If?FileCount?>=?FileLimit?Then

ReDim?Preserve?strFiles(FileLimit?+?10)

FileLimit?=?FileLimit?+?10

End?If

strFiles(FileCount)?=?strPath?&?strResult

FileCount?=?FileCount?+?1

Else

If?dirCount?>=?dirLimit?Then

ReDim?Preserve?strDirs(dirLimit?+?10)

dirLimit?=?dirLimit?+?10

End?If

strDirs(dirCount)?=?strPath?&?strResult

dirCount?=?dirCount?+?1

End?If

End?If

strResult?=?Dir(,?vbDirectory?+?vbSystem?+?vbReadOnly?+?vbHidden?+?vbNormal?+?vbArchive)

Loop

For?I?=?0?To?dirCount?-?1

Call?FindPath(strDirs(I),?strFiles,?FileCount)

Next?I

End?Sub

  • 上一篇:孩子讀書不好怎麽辦
  • 下一篇:大學要學計算機編程是什麽專業?
  • copyright 2024編程學習大全網