Чтение онлайн

на главную - закладки

Жанры

Windows Script Host для Windows 2000/XP

Попов Андрей Викторович

Шрифт:

WScript.Echo("Имя пользователя: "+objNamedArgs("User"));

WScript.Echo("Имя компьютера: "+objNamedArgs("Computer"));

Отметим также, что значением именного параметра, как и безымянного, может служить целая строка, состоящая из нескольких литералов и заключенная в кавычки, например:

MyScript.js /User:"Andrey Popov" /Computer:Server1

Тогда в результате выполнения в сценарии MyScript.js следующей строки:

WScript.Echo("Имя пользователя: "+ WScript.Arguments.Named("User"));

на

экран будет выведено

Имя пользователя: Andrey Popov

Для того чтобы узнать, был ли указан при запуске сценария тот или иной именной параметр, используется метод

Exists
объекта
WshNamed
. Например,

if (WScript.Arguments.Named.Exists("User"))

 WScript.Echo("Имя пользователя: "+ WScript.Arguments.Named("User"));

Примеры, иллюстрирующие использование объекта WshNamed, приведены также в главе 2 (см. листинги 2.22 и 2.23).

Объект WshUnnamed

В коллекции

WshUnnamed
содержатся параметры командной строки запущенного сценария, у которых нет имени (безымянные параметры). Создается этот объект с помощью свойства
Unnamed
коллекции
WshArguments
. Для того чтобы получить значение определенного аргумента, его номер используется в качестве индекса коллекции (нумерация начинается с нуля).

Замечание 

Узнать число безымянных параметров можно только с помощью свойства

Length
коллекции
WshUnnamed
; метода
Count
у этой коллекции нет.

Например, сценарий MyScript.js запущен с двумя безымянными параметрами:

MyScript.js "Andrey Popov" Server1

Тогда после выполнения в сценарии MyScript.js любого из следующих двух блоков:

var objUnnamedArgs;

obUnnamedArgs=WScript.Arguments.Unnamed;

WScript.Echo("Имя пользователя: "+objUnnamedArgs.Item(0));

WScript.Echo("Имя компьютера: "+objUnnamedArgs.Item(1));

или

var objUnnamedArgs;

obUnnamedArgs=WScript.Arguments.Unnamed;

WScript.Echo("Имя пользователя: "+objUnnamedArgs(0));

WScript.Echo("Имя компьютера: "+objUnnamedArgs(1));

на экран выведутся следующие строки:

Имя пользователя: Andrey Popov

Имя компьютера: Server1

Примеры, иллюстрирующие использование объекта

WshUnnamed
, приведены также в главе 2 (см. листинги 2.22 и 2.23).

Объект WshEnvironment

Объект

WshEnvironment
позволяет получить доступ к коллекции, содержащей переменные среды заданного типа (переменные среды операционной системы, переменные среды пользователя или переменные среды текущего командного окна). Этот объект можно создать с помощью свойства
Environment
объекта
WshShell
или одноименного его метода:

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

 WshSysEnv=WshShell.Environment,

 WshUserEnv=WshShell.Environment("User");

Объект

WshEnvironment
имеет свойство
Length
, в котором хранится число элементов в коллекции (количество переменных среды), и методы
Count
и
Item
. Для того чтобы получить значение определенной переменной среды, в качестве аргумента метода
Item
указывается имя этой переменной в двойных кавычках. В следующем примере мы выводим на экран значение переменной среды
PATH
:

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
произойдет ошибка.

Листинг 1.6. Удаление переменных среды

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

/* Имя: RemEnv.js */

/* Язык: JScript */

/* Описание: Удаление двух переменных среды */

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

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

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

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

var WshUsrEnv = WshShell.Environment("User");

//Удаляем переменные среды

WshUsrEnv.Remove("EXAMPLE_1");

Поделиться:
Популярные книги

Князь Медведев. Дилогия

Вяч Павел
Медведев
Фантастика:
аниме
фэнтези
попаданцы
5.71
рейтинг книги
Князь Медведев. Дилогия

Я еще царь. Книга XXX

Дрейк Сириус
30. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
5.75
рейтинг книги
Я еще царь. Книга XXX

А зори здесь тихие… (сборник)

Васильев Борис Львович
100 главных книг
Проза:
военная проза
советская классическая проза
7.90
рейтинг книги
А зори здесь тихие… (сборник)

Месть изгоя. Книга 3. Вариант О.Рыбаченко

Большаков Алексей Владимирович
5.00
рейтинг книги
Месть изгоя. Книга 3. Вариант О.Рыбаченко

ТВОРИМ СОВМЕСТНУЮ ЖИЗНЬ, или Как создать Экопоселение

Кристиан Диана Лиф
Старинная литература:
прочая старинная литература
5.00
рейтинг книги
ТВОРИМ СОВМЕСТНУЮ ЖИЗНЬ, или Как создать Экопоселение

Время гарпии

Пирс Энтони
17. Ксанф
Фантастика:
юмористическая фантастика
5.00
рейтинг книги
Время гарпии

Юдаизм. Сахарна

Розанов Василий Васильевич
Документальная литература:
публицистика
5.00
рейтинг книги
Юдаизм. Сахарна

Неучтенный элемент. Том 12

NikL
12. Антимаг. Вне системы
Фантастика:
фэнтези
5.00
рейтинг книги
Неучтенный элемент. Том 12

Русская рулетка. Как выжить в борьбе за собственное здоровье

Мясников Александр Леонидович
Дом и Семья:
здоровье и красота
5.50
рейтинг книги
Русская рулетка. Как выжить в борьбе за собственное здоровье

Имперец. Том 1 и Том 2

Романов Михаил Яковлевич
1. Имперец
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Имперец. Том 1 и Том 2

Пересекающиеся параллели

Шульгина Анна
Детективы:
прочие детективы
9.38
рейтинг книги
Пересекающиеся параллели

Марш обреченных

Злобин Михаил
1. Хроники геноцида
Фантастика:
фэнтези
попаданцы
5.60
рейтинг книги
Марш обреченных

Ледяной Сфинкс

Верн Жюль
Приключения:
прочие приключения
путешествия и география
5.00
рейтинг книги
Ледяной Сфинкс

Леди Малиновой пустоши

Шах Ольга
Любовные романы:
любовно-фантастические романы
6.20
рейтинг книги
Леди Малиновой пустоши