Коллекция Files

Коллекция Files

Коллекция Files содержит объекты File для всех файлов, находящихся внутри определенного каталога. Создается эта коллекция с помощью свойства Files соответствующего объекта Folder. Например, в следующем примере переменная Files является коллекцией, содержащей объекты File для всех файлов в каталоге С:Мои документы:

var FSO, F, Files;

FSO=WScript.CreateObject("Scripting.FileSystemObject");

F=FSO.GetFolder("С:\Мои документы");

Files=F.Files;

Как и рассмотренные выше коллекции Drives и Folders, коллекция Files имеет свойство Count и метод Item.

Для доступа в цикле ко всем элементам коллекции Files применяется объект Enumerator. В качестве примера использования этого объекта в листинге 5.14 приведен сценарий ListFiles.js, выводящий на экран названия всех файлов, которые содержатся в специальной папке "Мои документы" (рис. 5.6). 

Рис. 5.6. Список всех файлов в специальной папке "Мои документы"

Листинг 5.14. Построение списка файлов

/*******************************************************************/

/* Имя: ListFiles.js                                               */

/* Язык: JScript                                                   */

/* Описание: Получение списка всех файлов заданного каталога       */

/*******************************************************************/

//Объявляем переменные

var FSO,F,Files,WshShell,PathList,s;

//Создаем объект FileSystemObject

FSO=WScript.CreateObject("Scripting.FileSystemObject");

//Создаем объект WshShell

WshShell=WScript.CreateObject("Wscript.Shell");

//Создаем объект WshSpecialFolders

WshFldrs=WshShell.SpecialFolders;

//Определяем путь к папке "Мои документы"

PathList=WshFldrs.item("MyDocuments")+"\";

//Создаем объект Folder для папки "Мои документы"

F=FSO.GetFolder(PathList);

//Создаем коллекцию файлов каталога "Мои документы"

Files=new Enumerator(F.Files);

s = "Файлы из каталога "+PathList+" ";

//Цикл по всем файлам

for (; !Files.atEnd(); Files.moveNext())

 //Добавляем строку с именем файла

 s+=Files.item().Name+" ";

//Выводим полученные строки на экран

WScript.Echo(s);

/*************  Конец *********************************************/