vb实现获取指定目录内的所有文件包括子目录

Option Explicit

'以竖式遍历先遍历某子目录及内部所有子目录,然后再返回与之同级的目录 Sub GetPath(ByVal FilePath As String,ByVal list As ListBox) '获取文件路径 FilePath = IIf(Right(FilePath,1) = "\",FilePath,FilePath & "\") '获取当前目录内的文件名 Dim FileName As String FileName = Dir(FilePath) '初次使用dir函数需指明路径 '使用一个循环,遍历当前目录内的文件,并逐一验证其属性 do while FileName <> "" If Right(FileName,3) = "jpg" Then list1.AddItem FilePath & "\" & FileName End If FileName = Dir Loop '缺少此句只会遍历一级目录 FileName = LCase(Dir(FilePath,vbDirectory)) Dim ChildContent() As String Dim Count As Integer '获取下一级目录 do while FileName <> "" If FileName <> "." And FileName <> ".." Then If GetAttr(FilePath & FileName) And vbDirectory Then Count = Count + 1 ReDim Preserve ChildContent(Count) '将下一级目录放入动态数组 ChildContent(Count) = FilePath & "\" & FileName End If End If FileName = Dir DoEvents Loop '回调自身,获取下一级目录内文件路径 Dim i As Integer For i = 1 To Count GetPath ChildContent(i),list Next i End Sub

Private Sub cmdGetPath_Click() GetPath App.Path,list1 End Sub

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...