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).
Листинг 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).
Работа с сетью и оболочкой Windows
Для работы с локальной сетью и оболочкой Windows (специальные папки, переменные среды, системный реестр) предназначены соответственно объекты WshNetwork
и WshShell
.
Объект WshNetwork
предназначен для работы с ресурсами локальной сети; с помощью методов этого объекта можно подключать и отключать сетевые диски и принтеры.
Объект WshNetwork
создается следующим образом:
var objNet=WScript.CreateObject("WScript.Network");
Свойства данного объекта приведены в табл. 1.5.
Таблица 1.5.Свойства объекта WshNetwork
Свойство |
Описание |
ComputerName |
Содержит имя компьютера, на котором запущен сценарий |
UserDomain |
Содержит имя домена, в котором зарегистрировался пользователь |
UserName |
Содержит имя пользователя |
Листинг 1.8. Пример использования объекта WshNetwork
/*******************************************************************/
/* Имя: ShowNetwork.js */
/* Язык: JScript */
/* Описание: Вывод на экран сетевого имени компьютера и имени */
/* пользователя */
/*******************************************************************/
var objNet;
//Создаем объект WshNetwork
objNet = WScript.CreateObject("WScript.Network");
//Выводим на экран свойства ComputerName и UserName
WScript.Echo("Имя машины:",objNet.ComputerName);
WScript.Echo("Имя пользователя:",objNet.UserName);
/************* Конец *********************************************/
Методы объекта WshNetwork
описаны в табл. 1.6.
Таблица 1.6.Методы объекта WshNetwork
Метод |
Описание |
AddPrinterConnection( strLocalName, strRemoteName [ ,bUpdateProfile] [,strUser] [,strPassword] ) |
Подключает локальный порт компьютера к сетевому принтеру |
Для Windows NT/2000/XP: AddWindowsPrinterConnection( strPrnPath ) Для Windows 9 x : AddWindowsPrinterConnection( strPrnPath, strDriverName[, strPort] ) |
Регистрирует принтер в Windows и подключает его к сетевому ресурсу. В отличие от AddPrinterConnection , этот метод позволяет создать связь с сетевым принтером без явного перенаправления вывода в локальный порт |
EnumNetworkDrives() |
Возвращает коллекцию, в которой хранятся буквы и сетевые пути ко всем подключенным сетевым дискам |
EnumPrinterConnections() |
Возвращает коллекцию, в которой хранятся данные обо всех подключенных сетевых принтерах |
MapNetworkDrive( strLocalName, strRemoteName, [bUpdateProfile], [strUser], [strPassword] ) |
Подключает сетевой ресурс strRemoteName под локальным именем диска strLocalName |
RemoveNetworkDrive( strName, [bForce], [bUpdateProfile] ) |
Отключает подключенный сетевой диск |
RemovePrinterConnection( strName, [bForce], [bUpdateProfile] ) |
Отключает подключенный сетевой принтер |
SetDefaultPrinter( strPrinterName ) |
Делает заданный сетевой принтер принтером по умолчанию |
Опишем методы из табл. 1.6 более подробно.
Читать дальше