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

на главную

Жанры

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

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

Камень Книга седьмая

Минин Станислав
7. Камень
Фантастика:
фэнтези
боевая фантастика
6.22
рейтинг книги
Камень Книга седьмая

Идеальный мир для Лекаря 25

Сапфир Олег
25. Лекарь
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 25

Курсант: назад в СССР

Дамиров Рафаэль
1. Курсант
Фантастика:
попаданцы
альтернативная история
7.33
рейтинг книги
Курсант: назад в СССР

Двойник короля 12

Скабер Артемий
12. Двойник Короля
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Двойник короля 12

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

Володин Григорий
2. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 2

Кодекс Крови. Книга ХVI

Борзых М.
16. РОС: Кодекс Крови
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Кодекс Крови. Книга ХVI

Династия. Феникс

Майерс Александр
5. Династия
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Династия. Феникс

An ordinary sex life

Астердис
Любовные романы:
современные любовные романы
love action
5.00
рейтинг книги
An ordinary sex life

Идеальный мир для Демонолога

Сапфир Олег
1. Демонолог
Фантастика:
юмористическое фэнтези
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Идеальный мир для Демонолога

Последний попаданец

Зубов Константин
1. Последний попаданец
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Последний попаданец

Клан

Русич Антон
2. Долгий путь домой
Фантастика:
боевая фантастика
космическая фантастика
5.60
рейтинг книги
Клан

Поход

Валериев Игорь
4. Ермак
Фантастика:
боевая фантастика
альтернативная история
6.25
рейтинг книги
Поход

Спасите меня, Кацураги-сан! Том 3

Аржанов Алексей
3. Токийский лекарь
Фантастика:
городское фэнтези
попаданцы
дорама
фэнтези
5.00
рейтинг книги
Спасите меня, Кацураги-сан! Том 3

Кукловод

Злобин Михаил
2. О чем молчат могилы
Фантастика:
боевая фантастика
8.50
рейтинг книги
Кукловод