Недостатки File System Object
"Продвинутые чайники" JScript достаточно хорошо знают, как организовать перебор файлов внутри каталога ("не спускаясь" в поддиректории):
var fso = new ActiveXObject("Scripting.FileSystemObject");
var oFolder = fso.GetFolder("C:\\Temp");
var oFiles = new Enumerator(oFolder.Files);
for (; !oFiles.atEnd(); oFiles.moveNext())
{
var oFile = oFiles.item();
var fname = oFile.Path // Вожделенный путь к файлу
}
Как видите, в этом ActiveX не предусмотрено специальных средств для работы с древовидной структурой подкаталогов.
Трудные задачи
- Получить список всех каталогов, находящихся в заданном каталоге (и его подкаталогах).
- Получить список всех файлов, находящихся в заданном каталоге (и его подкаталогах).
Покопавшись в Рунете (!!!), я нашел замечательный программный код (он написан не мной), который доступен Вам со страницы: http://allo.usaaa.ru/workshop/units/objdir/objdir.htm.
Хотя авторы кода предполагали его использовать в IIS, для программ JScript он также подходит без всяких изменений.
Простая добавка кода функции - конструктора (http://allo.usaaa.ru/workshop/units/objdir/dir_js.htm) в программу JScript
позволяет создавать экземпляры объекта Dir, и с помощью его методов решать указанные выше задачи.
Разумеется, насчет авторских прав на использование этого кода Вы должны узнать у его автора.
|