搜档网
当前位置:搜档网 › vb遍历文件夹(含子文件夹)

vb遍历文件夹(含子文件夹)

vb遍历文件夹(含子文件夹)

这段时间写软件需要遍历文件夹及文件,以前读写文件都是用BASIC的老的I/O方法操作,仔细阅读了FSO的操作并在网上整理下资料,得到了遍历文件夹及文件的代码,模块如下:

调用方法:
ShowFolderList ("c:\a")
Showfilelist ("c:\a")


程序代码
'遍历文件夹
Private Sub ShowFolderList(folderspec)
Dim fs, f, f1, s, sf
Dim hs, h, h1, hf
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(folderspec)
Set sf = f.SubFolders
For Each f1 In sf

List1.AddItem folderspec & "\" & https://www.sodocs.net/doc/942899731.html,

Call ShowFolderList(folderspec & "\" & https://www.sodocs.net/doc/942899731.html,)
Next
End Sub



程序代码
'遍历某文件夹下的文件
Private Sub Showfilelist(folderspec)
Dim fs, f, f1, fc, s
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(folderspec)
Set fc = f.Files
For Each f1 In fc
List1.AddItem https://www.sodocs.net/doc/942899731.html,
Next
End Sub



程序代码
'遍历某文件夹及子文件夹中的所有文件
Sub sosuofile(MyPath As String)
Dim Myname As String
Dim a As String
Dim B() As String
Dim dir_i() As String
Dim i, idir As Long
If Right(MyPath, 1) <> "\" Then MyPath = MyPath + "\"
Myname = Dir(MyPath, vbDirectory or vbHidden or vbNormal or vbReadOnly)
Do While Myname <> ""
If Myname <> "." And Myname <> ".." Then
If (GetAttr(MyPath & Myname) And vbDirectory) = vbDirectory Then '如果找到的是目录
idir = idir + 1
ReDim Preserve dir_i(idir) As String
dir_i(idir - 1) = Myname
Else

List1.AddItem MyPath & Myname '把找到的文件显示到列表框中

End If
End If
Myname = Dir '搜索下一项
Loop
For i = 0 To idir - 1
Call sosuofile(MyPath + dir_i(i))
Next i
ReDim dir_i(0) As String
End Sub


附:

'在这里可以处理目录中的文件
'https://www.sodocs.net/doc/942899731.html, '得到文件名
'Fn.Size '得到文件大小
'Fn.Path '得到文件路径
'Fn.Type '得到文件类型
'Fn.DateLastModified '得到文件最后的修改日期
您可能也喜欢:

相关主题