[求助]FSO递归遍历所有驱动器下所有文件夹中所有文件
小弟在使用FSO递归遍历所有驱动器下所有文件夹中所有文件时,执行到最后时出现类似死循环现象,请高手指点。代码如下:
dim FSO as object
dim AllDrives as object
Set FSO= CreateObject("Scripting.FileSystemObject")
set AllDries=FSO.Drives
'处理过程,列举所有驱动器,并对每一个驱动器的根文件夹调用SCAN过程。
Private Sub Process()
Dim drive As Object
For Each drive In AllDrives
If drive.isready Then
Call Scan(drive.rootfolder)'此处调用遍历过程
End If
Next
End Sub
'递归遍历每个文件夹及其子文件夹,并用一个LABEL显示其中每一个文件的路径。
Private Sub Scan(folder)
Dim subfolder
Dim thefile
Dim filename
If folder.subfolders.Count > 0 Then
For Each subfolder In folder.subfolders
Call Scan(subfolder)'此处递归
Next
End If
'下面一段将文件夹中的文件路径显示在LABEL上并刷新窗体
If folder.Files.Count > 0 Then
For Each thefile In folder.Files
MessageLabel.Caption = thefile.Path
MainForm.Refresh
Next
End If
End Sub
[[italic] 本帖最后由 mzjllh 于 2007-12-20 20:12 编辑 [/italic]]