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

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

Жанры

Windows Script Host для Windows 2000/XP

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

Шрифт:

Элемент

<runtime>
позволяет сделать сценарий самодокументируемым, т.е. в этом случае при задании в командной строке ключа
/?
на экран будет автоматически выводиться информация об использовании сценария, о его синтаксисе и аргументах (именных и безымянных), а также пример запуска сценария с конкретными значениями аргументов.

При этом сам элемент

<runtime>
является лишь контейнером, а содержимое для вывода информации хранится в элементах
<named>
(описание именных параметров командной строки),
<unnamed>
(описание безымянных параметров командной строки),
<description>
(описание самого сценария) и
<example>
(пример запуска сценария), которые находятся внутри
<runtime>
.

Замечание

Элемент

<runtime>
является дочерним относительно
<job>
, поэтому все описания, приведенные внутри
<runtime>
, относятся только к текущему заданию.

Элемент <named>

С помощью элементов

<named>
можно описывать (документировать) именные параметры командной строки сценария. В табл. 3.1 приведено описание аргументов элемента
<named>
.

Таблица 3.1. Аргументы элемента

<named>

Аргумент Описание
name
Задает имя параметра командной строки
helpstring
Строка, содержащая описание параметра командной строки
type
Определяет тип параметра командной строки. Может принимать значения "
string
" (символьный тип), "
boolean
" (логический тип), "
simple
" (в сценарий передается только имя параметра без дополнительного значения). По умолчанию используется тип "
simple
"
required
Используется для того, чтобы показать, является ли параметр командной строки обязательным. Может принимать значения "
true
" (параметр нужно указывать обязательно) и "
false
" (параметр можно не указывать)

Информация, которая указывается для объявляемого в элементе

<named>
параметра командной строки, используется только для самодокументируемости сценария и никак не влияет на реальные значения, которые будут указаны в командной строке при запуске сценария. Например, если параметр объявлен как обязательный (
required="true"
), но в действительности не был указан при запуске сценария, то никакой ошибки во время работы не произойдет.

Если для аргумента командной строки сценария указан тип "

string
", то предполагается, что этот аргумент имеет имя и значение, разделенные символом "
:
", например:

/Имя:"Андрей Попов" /Возраст:30

Если в качестве типа параметра командной строки используется "simple", то для этого параметра в командной строке указывается только его имя без значения:

/Имя /Возраст

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

+
" (соответствует логическому значению "истина") или "
" (соответствует значению "ложь"). Например:

/Запись+ /ReWrite-

В листинге 3.3 приведен сценарий named.wsf, в котором в блоке

<runtime>
описываются три именных аргумента командной строки:

/Имя
(обязательный аргумент символьного типа);

/Компьютер
(необязательный аргумент символьного типа);

/Новый
(обязательный аргумент логического типа).

После запуска с помощью wscript.exe в сценарии named.wsf сначала вызывается метод

WScript.Arguments.Usage
, в результате чего на экран выводится диалоговое окно с информацией о сценарии и параметрах командной строки (рис. 3.2).

Рис. 3.2. Диалоговое окно с информацией о параметрах сценария named.wsf

Затем в сценарии проверяется, какие именно аргументы командной строки были подставлены при запуске, и выделяются значения этих аргументов. Для этого создается объект WshNamed, являющийся коллекцией именных аргументов командной строки, и используется метод Exists этого объекта:

//Создаем объект WshNamed — коллекция именных аргументов сценария

objNamedArgs= WScript.Arguments.Named;

s="";

//Проверяем, существует ли аргумент /Имя:

if (objNamedArgs.Exists("Имя"))

 //Получаем значение символьного аргумента /Имя

 s+="Имя: "+objNamedArgs("Имя") +"\n";

//Проверяем, существует ли аргумент /Компьютер:

if (objNamedArgs.Exists("Компьютер"))

 //Получаем значение символьного аргумента /Компьютер

 s+="Машина: "+objNamedArgs("Компьютер") + "\n";

Значением параметра

/Новый
является константа логического типа (
true
или
false
), поэтому для формирования строки, соответствующей этому значению, используется условный оператор языка JScript:

//Проверяем, существует ли аргумент /Новый

if (objNamedArgs.Exists("Новый"))

 //Получаем с помощью условного оператора значение

 //логического аргумента /Новый

 s+="Новый пользователь: "+(objNamedArgs("Новый") ? "Да" : "Нет");

Если запустить сценарий named.wsf следующим образом:

wscript.exe named.wsf /Имя:Popov /Компьютер:404_Popov /Новый+

то на экран будет выведено диалоговое окно, показанное на рис. 3.3.

Рис. 3.3. Значения именных аргументов командной строки, переданных в named.wsf

Листинг 3.3. Файл named.wsf
Поделиться:
Популярные книги

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

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

Изгой Проклятого Клана

Пламенев Владимир
1. Изгой
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Изгой Проклятого Клана

Я спас СССР! том 1

Вязовский Алексей
1. Я спас СССР
Фантастика:
альтернативная история
6.57
рейтинг книги
Я спас СССР! том 1

Царь царей

Билик Дмитрий Александрович
9. Бедовый
Фантастика:
фэнтези
мистика
5.00
рейтинг книги
Царь царей

Ермак. Регент

Валериев Игорь
10. Ермак
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Ермак. Регент

Эпоха Опустошителя. Том VIII

Павлов Вел
8. Вечное Ристалище
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Эпоха Опустошителя. Том VIII

Изгой Проклятого Клана. Том 4

Пламенев Владимир
4. Изгой
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Изгой Проклятого Клана. Том 4

Развод, который ты запомнишь

Рид Тала
1. Развод
Любовные романы:
остросюжетные любовные романы
короткие любовные романы
5.00
рейтинг книги
Развод, который ты запомнишь

Вечный. Книга VI

Рокотов Алексей
6. Вечный
Фантастика:
рпг
фэнтези
5.00
рейтинг книги
Вечный. Книга VI

Виконт. Книга 1. Второе рождение

Юллем Евгений
1. Псевдоним `Испанец`
Фантастика:
фэнтези
боевая фантастика
попаданцы
6.67
рейтинг книги
Виконт. Книга 1. Второе рождение

Кодекс Охотника. Книга XXXIII

Винокуров Юрий
33. Кодекс Охотника
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Кодекс Охотника. Книга XXXIII

Барон обходит правила

Ренгач Евгений
14. Закон сильного
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Барон обходит правила

Кондотьер

Листратов Валерий
7. Ушедший Род
Фантастика:
фэнтези
боевая фантастика
аниме
попаданцы
5.00
рейтинг книги
Кондотьер

Ким

Киплинг Редьярд Джозеф
Приключения:
исторические приключения
7.62
рейтинг книги
Ким