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

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

Жанры

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");

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

На границе империй. Том 10. Часть 10

INDIGO
Вселенная EVE Online
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 10. Часть 10

Бандит 2

Щепетнов Евгений Владимирович
2. Петр Синельников
Фантастика:
боевая фантастика
5.73
рейтинг книги
Бандит 2

Чехов. Книга 2

Гоблин (MeXXanik)
2. Адвокат Чехов
Фантастика:
фэнтези
альтернативная история
аниме
5.00
рейтинг книги
Чехов. Книга 2

Матабар V

Клеванский Кирилл Сергеевич
5. Матабар
Фантастика:
фэнтези
5.00
рейтинг книги
Матабар V

Мечник Вернувшийся 1000 лет спустя

Ткачев Андрей Юрьевич
1. Вернувшийся мечник
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Мечник Вернувшийся 1000 лет спустя

Глубокий космос

Вайс Александр
9. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
космоопера
5.00
рейтинг книги
Глубокий космос

Зеркало силы

Кас Маркус
3. Артефактор
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Зеркало силы

Вперед в прошлое 3

Ратманов Денис
3. Вперёд в прошлое
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Вперед в прошлое 3

Индульгенция 1. Без права выбора

Машуков Тимур
1. Темный сказ
Фантастика:
аниме
фэнтези
попаданцы
гаремник
5.00
рейтинг книги
Индульгенция 1. Без права выбора

Я — Легион

Злобин Михаил
3. О чем молчат могилы
Фантастика:
боевая фантастика
7.88
рейтинг книги
Я — Легион

Студент из прошлого тысячелетия

Еслер Андрей
2. Соприкосновение миров
Фантастика:
героическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Студент из прошлого тысячелетия

Газлайтер. Том 10

Володин Григорий
10. История Телепата
Фантастика:
боевая фантастика
5.00
рейтинг книги
Газлайтер. Том 10

Звездная Кровь. Изгой V

Елисеев Алексей Станиславович
5. Звездная Кровь. Изгой
Фантастика:
боевая фантастика
попаданцы
технофэнтези
рпг
фантастика: прочее
5.00
рейтинг книги
Звездная Кровь. Изгой V

Князь

Шмаков Алексей Семенович
5. Светлая Тьма
Фантастика:
юмористическое фэнтези
городское фэнтези
аниме
сказочная фантастика
5.00
рейтинг книги
Князь