Тема: VBS: Скорость рекурсии VBS
Есть скрипт, который просматривает все содержимое директории по принципу рекурсии. Указываем директорию и вперед.
Просматриваем директорию в которой около 5000 файлов. Скрипт это делает за 45 секунд, а винда практически моментально, когда в Windows указываем поиск *.* скорость намного выше. Вопрос почему? И возможно ли увеличить скорость выполнения рекурсии скрипта в моем случае:
Option Explicit
Dim RetCode
Dim FileMassiv()
Dim a,b,i,objFso
Set objFso = CreateObject("Scripting.FileSystemObject")
Dim PutDataFiles
PutDataFiles = "G:\POS\Pos_Files"
a = Now
Erase FileMassiv
reDim preserve FileMassiv(-1)
call CheckFolderInFolder (PutDataFiles)
b = Now
MsgBox "Готово!" &"A = " &a &" " &"B = " &b
Function CheckFolderInFolder (P1)
'P1 - передаваемый параметр пути где необходима рекурсия возвращаемый заполненный массив FileMassiv(i)
RetCode = 0
If Ubound(FileMassiv) = -1 Then
i = -1
End IF
Dim File,CollectionFolder,CollectionFile,Folder
Set Folder = objFso.GetFolder(P1)
Set CollectionFolder = Folder.SubFolders
Set CollectionFile = Folder.Files
If CollectionFile.count > 0 Then
For Each File In CollectionFile
' Сообщение о файле при переборе
i = i + 1
reDim preserve FileMassiv(i)
FileMassiv(i) = File.Path
'WScript.Echo File.Path &" Размерность =" &i &" Размер массива = " &Ubound(FileMassiv)
Next
End If
Dim SubFolder
For Each SubFolder In CollectionFolder
call CheckFolderInFolder (SubFolder)
Next
End Function

