|
Function ListAllFso(rootpath$, fname, dptpath, i) '用FSO方法遍历并列出所有文件和文件夹名的【递归过程】
Set fld = CreateObject("Scripting.FileSystemObject").GetFolder(rootpath)
For Each f In fld.Files '遍历当前文件夹内所有【文件.Files】
If InStr(f.Name, fname) <> 0 Then '需要复制的文件名
If Len(f.Name) - Len(fname) = 4 Or Len(f.Name) - Len(fname) = 8 Then
If Dir(dptpath, vbDirectory) = "" Then MkDir (dptpath) '存放的文件夹存在
FileCopy rootpath & f.Name, dptpath & f.Name
Exit Function
End If
End If
Next
For Each fd In fld.SubFolders '遍历当前文件夹内所有【子文件夹.SubFolders】
Call ListAllFso(fd.Path & "\", fname, dptpath, i) '注意此时的路径变量已经改变为【子文件夹的路径fd.Path】
Next
End Function
想请教一下 ,exit function 以后还是执行 递归子文件的next end function 后也是执行递归子文件的next |
|