var WshShell=WScript.CreateObject('WScript.Shell'), WshSysEnv=WshShell.Environment;
WScript.Echo('Системный путь:', WshSysEnv.Item('PATH'));
Можно также просто указать имя переменной в круглых скобках после имени объекта:
WScript.Echo('Системный путь:',WshSysEnv('PATH');
Кроме этого, у объекта WshEnvironment имеется метод Remove(strName), который удаляет заданную переменную среды. Например, в листинге 1.6 приведен сценарий, который удаляет две переменные (EXAMPLE_1
и EXAMPLE_2
) из окружения среды пользователя.
Если в окружении среды пользователя нет переменных с именами EXAMPLE_1
и EXAMPLE_2
, то при вызове метода Remove
произойдет ошибка.
/*******************************************************************/
/* Имя: RemEnv.js */
/* Язык: JScript */
/* Описание: Удаление двух переменных среды */
/*******************************************************************/
//Создаем объект WshShell
var WshShell = WScript.CreateObject('WScript.Shell');
//Создаем объект WshEnvironment
var WshUsrEnv = WshShell.Environment('User');
//Удаляем переменные среды
WshUsrEnv.Remove('EXAMPLE_1');
WshUsrEnv.Remove('EXAMPLE_2');
/************* Конец *********************************************/
Объект
Объект 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).
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 приведены в
Работа с сетью и оболочкой Windows
Для работы с локальной сетью и оболочкой Windows (специальные папки, переменные среды, системный реестр) предназначены соответственно объекты WshNetwork
и