@H_404_3@
在实际的运用中,我们有时要求能获得一个目录下的所有文件列表,包括子目录下的文件。@H_404_3@
@H_404_3@
在VB2005中有函数My.Computer.FileSystem.GetFiles(Path)。其效用是获得目录下所有文件列表,但是不包括子目录下的文件。My.Computer.FileSystem.GetDirectories(Path)这个函数效用是获得目录下的一级子目录的列表,不包含子目录下的目录列表。@H_404_3@
@H_404_3@
将这两个函数灵活运用,就能达到标题所要求的效果。现将代码赋予其后。@H_404_3@
作用:获得制定目录下的文件列表,包括子目录下的文件@H_404_3@
参数:Path;制定的目录名@H_404_3@
返回值:字符串数组,目录列表@H_404_3@
@H_404_3@
Public Shared Function GetAllFile(ByVal Path As String) As String()@H_404_3@
Dim tS() As String@H_404_3@
Dim tC As Collections.ObjectModel.ReadOnlyCollection(Of String) _@H_404_3@
= My.Computer.FileSystem.GetFiles(Path)@H_404_3@
@H_404_3@
ReDim tS(tC.Count - 1)@H_404_3@
tC.CopyTo(tS,0)@H_404_3@
@H_404_3@
Dim tS1() As String@H_404_3@
tP As String@H_404_3@
j As Integer@H_404_3@
@H_404_3@
For Each tP In My.Computer.FileSystem.GetDirectories(Path)@H_404_3@
tS1 = GetAllFile(tP)@H_404_3@
If tS1.Length > 0 Then@H_404_3@
If tS.Length = 0 Then@H_404_3@
ReDim tS(tS1.GetUpperBound(0))@H_404_3@
tS1.CopyTo(tS,"sans-serif"; mso-fareast-font-family: 新宋体; mso-font-kerning: 0pt; mso-no-proof: yes;" lang="EN-US"> Else@H_404_3@
j = tS.GetUpperBound(0)@H_404_3@
ReDim Preserve tS(j + tS1.Length)@H_404_3@
404_3@
End If@H_404_3@
Next@H_404_3@
Return tS@H_404_3@
End Function@H_404_3@ 原文链接:https://www.f2er.com/vb/262707.html