ano*_*ser 2 vb.net vb6 visual-studio-2005
我想知道下面描述的场景是否有一些内置函数:
输入是父文件夹的路径.功能必须要做的是,它应该列出该父文件夹中的所有.zip文件.父文件夹可以包含任意数量的子文件夹,同样适用于子文件夹.任何人都可以帮我解决这个问题吗?
VB版不是路障.VB6或VS2005的任何版本都可以.请帮助我.如果没有内置功能,还有其他替代方法.提前致谢.
对于VB6.0,我会使用FileSystemObject
一个小的递归函数.
Sub test()
Dim fso As New Scripting.FileSystemObject
Dim files As New Collection
Dim file As Scripting.file
GetFilesRecursive fso.GetFolder("C:\YourFolder"), "zip", files, fso
For Each file In files
Debug.Print file.Name
Next file
End Sub
Sub GetFilesRecursive(f As Scripting.Folder, filter As String, c As Collection, fso As Scripting.FileSystemObject)
Dim sf As Scripting.Folder
Dim file As Scripting.file
For Each file In f.Files
If InStr(1, fso.GetExtensionName(file.Name), filter, vbTextCompare) = 1 Then
c.Add file, file.path
End If
Next file
For Each sf In f.SubFolders
GetFilesRecursive sf, filter, c, fso
Next sf
End Sub
Run Code Online (Sandbox Code Playgroud)
不过,这不会是闪电般快速的.只有通过直接使用FindFirstFile和FindNextFile等Win32 API函数才能获得最佳性能.