Объект WshSpecialFolders

Объект WshSpecialFolders

Объект WshSpecialFolders обеспечивает доступ к коллекции, содержащей пути к специальным папкам Windows (например, к рабочему столу или к меню Пуск (Start)); задание путей к таким папкам может быть необходимо, например, для создания непосредственно из сценария ярлыков на рабочем столе.

В Windows 9х поддерживаются следующие имена специальных папок:

? Desktop;

? Favorites;

? Fonts;

? MyDocuments;

? NetHood;

? PrintHood;

? Programs;

? Recent; 

? SendTo;

? StartMenu;

? Startup;

? Templates.

В Windows NT/2000/XP дополнительно можно получить доступ еще к четырем папкам, которые хранят данные для всех пользователей:

? AllUsersDesktop;

? AllUsersStartMenu;

? AllUsersPrograms;

? AllUsersStartup.

Объект WshSpecialFolders создается c помощью свойства SpecialFolders объекта WshShell:

var WshShell=WScript.CreateObject("WScript.Shell"),

 WshSpecFold=WshShell.SpecialFolders;

Как и почти все коллекции WSH, объект WshSpecialFolders имеет свойство Length и методы Count и Item. Доступ к отдельному элементу производится либо через имя соответствующей папки, либо через числовой индекс (Листинг 1.7).

Листинг 1.7. Обработка коллекции WshSpecialFolders

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

/* Имя: ShowSpecFold.js                                            */

/* Язык: JScript                                                   */

/* Описание: Вывод на экран названий специальных папок Windows     */

/*           (коллекция WshSpecialFolders)                         */

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

var WshShell, WshFldrs, i;

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

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

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

WshFldrs = WshShell.SpecialFolders;

WScript.Echo("Некоторые специальные папки...");

//Выводим путь к папке Desktop

WScript.Echo("Desktop="+ WshFldrs.item("Desktop"));

//Выводим путь к папке Favorities

WScript.Echo("Favorites="+ WshFldrs("Favorites"));

//Выводим путь к папке Programs

WScript.Echo("Programs="+ WshFldrs("Programs"));

WScript.Echo("");

WScript.Echo("Список всех специальных папок...");

for (i=0;i<= WshFldrs.Count()-1;i++){

 //Выводим на экран i-й элемент коллекции WshFldrs

 WScript.Echo(WshFldrs(i));

}

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

Другие примеры работы со специальными папками Windows приведены в главе 2 (см. листинги 2.39–2.42).