Книга: Windows Script Host для Windows 2000/XP

Коллекция Folders

Коллекция Folders

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

var FSO, F, SubFolders;
//Создаем объект FileSystemObject
FSO=WScript.CreateObject("Scripting.FileSystemObject");
//Создаем объект Folder для каталога C:Program Files
F=FSO.GetFolder("C:Program Files");
//Создаем коллекцию подкаталогов каталога C:Program Files
SubFolders=F.SubFolders;

Коллекция Folders (как и Drives) имеет свойство Count и метод Item. Кроме этого, у Folders есть метод Add(folderName), позволяющий создавать новые подкаталоги. В листинге 5.10 приведен сценарий MakeSubFold.js, который создает в каталоге "С:Мои документы" подкаталог "Новая папка".

Листинг 5.10. Создание нового каталога

/*******************************************************************/
/* Имя: MakeSubFold.js                                             */
/* Язык: JScript                                                   */
/* Описание: Создание нового каталога                              */
/*******************************************************************/
//Объявляем переменные
var FSO, F, SubFolders;
//Создаем объект FileSystemObject
FSO=WScript.CreateObject("Scripting.FileSystemObject");
//Создаем объект Folder для каталога C:Program Files
F=FSO.GetFolder("C:Program Files");
//Создаем коллекцию подкаталогов каталога C:Program Files
SubFolders=F.SubFolders;
// Создаем каталог C:Program FilesНовая папка
SubFolders.Add("Новая папка");
/*************  Конец *********************************************/

Замечание 

Напомним, что новый каталог также можно создать с помощью метода CreateFolder объекта FileSystemObject.

Для доступа ко всем элементам коллекции нужно использовать, как обычно, объект Enumerator. Например, в листинге 5.11 приведен сценарий ListSubFold.js, в котором на экран выводятся названия всех подкаталогов каталога C:Program Files (рис. 5.5).


Рис. 5.5. Список всех подкаталогов каталога C:Program Files

Листинг 5.11. Построение списка подкаталогов

/*******************************************************************/
/* Имя: ListSubFold.js                                             */
/* Язык: JScript                                                   */
/* Описание: Получение списка всех подкаталогов заданного каталога */
/*******************************************************************/
//Объявляем переменные
var FSO,F,SFold,SubFolders,s;
//Создаем объект FileSystemObject
FSO=WScript.CreateObject("Scripting.FileSystemObject");
//Путь к каталогу
SFold="C:Program Files";
s="Каталог "+SFold+"n";
s+="Подкаталоги:n";
//Создаем объект Folder для каталога C:Program Files
F=FSO.GetFolder(SFold);
//Создаем коллекцию подкаталогов каталога C:Program Files
SubFolders= new Enumerator(F.SubFolders);
//Цикл по всем подкаталогам
for (; !SubFolders.atEnd(); SubFolders.moveNext()) {
 s+=SubFolders.item()+"n";  //Добавляем строку с именем подкаталога
}
//Выводим полученные строки на экран
WScript.Echo(s);
/*************  Конец *********************************************/
 

Оглавление книги


Генерация: 1.454. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз