PDA

Показать полную графическую версию : [решено] FSO.GetFolder


zedoran
05-02-2014, 19:45
Добрый день!

...
var FSO = new ActiveXObject("Scripting.FileSystemObject");
var Folder = FSO.GetFolder("\\\\serv\\res\\");
var fc = new Enumerator(Folder.Files);
...

Может кто-нибудь предположить, почему получение списка файлов указанным способом с сервера в сети работает в десятки раз медленнее, чем то же самое, но с локального диска компа?

omegastripes
06-02-2014, 01:26
Предлагаю сравнить быстродействие Scripting.FileSystemObject с Shell.Application, ниже привожу код, аналогичный по функциям (правда, есть отличие - примененный фильтр не включает файлы *.zip, по всей видимости, воспринимая их как папки):
var objShellApp = new ActiveXObject("Shell.Application");
var objFolder = objShellApp.NameSpace("\\\\serv\\res\\");
var objFolderItems = objFolder.Items();
objFolderItems.Filter(64 + 128, "*.*");
var objEnum = new Enumerator(objFolderItems);

zedoran
06-02-2014, 12:10
Да, предложенный вариант работает значительно быстрее. Спасибо




© OSzone.net 2001-2012