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

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

Жанры

Windows Script Host для Windows 2000/XP

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

Шрифт:

<job id="Named">

 <runtime>

<description>

Имя: named.wsf

Кодировка: Windows

</description>

<named

name="Имя"

helpstring="Имя пользователя"

type="string" required="true"/>

<named

name="Компьютер"

helpstring="Имя рабочей станции"

type="string" required="false"/>

<named

name="Новый"

helpstring="Признак
того, что такого пользователя раньше не было"

type="boolean" required="true"/>

 </runtime>

 <script language="JScript">

var objNamedArgs,s;

s="";

//Вызываем метод ShowUsage для вывода на экран описания сценария

WScript.Arguments.ShowUsage;

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

objNamedArgs= WScript.Arguments.Named;

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

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

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

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

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

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

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

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

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

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

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

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

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

//Выводим полученные строки на экран

WScript.Echo(s);

 </script>

</job>

Элемент <unnamed>

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

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

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

<unnamed>

Аргумент Описание
name
Задает имя, которое будет указано для описываемого параметра командной строки при выводе информации о сценарии
helpstring
Строка, содержащая описание параметра командной строки
many
Определяет, сколько раз может быть указан безымянный параметр в командной строке. Значение,
равное "
true
" (используется по умолчанию), означает, что безымянный параметр может встретиться в командной строке более одного раза. Значение, равное "
false
", означает, что безымянный параметр должен быть указан только один раз
required
Определяет, является ли безымянный параметр командной строки обязательным. Может принимать значения "
true
", "
on
" или 1 (параметр нужно указывать обязательно), "
false
", "
off
" или 0 (параметр можно не указывать). Также значением аргумента "required" может быть целое число, которое показывает, сколько раз безымянный параметр должен обязательно быть указан в командной строке

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

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

Рассмотрим в качестве примера сценарий unnamed.wsf, в который в качестве параметров командной строки должны передаваться расширения файлов, причем обязательно должны быть указаны хотя бы два таких расширения (листинг 3.4).

Для создания информации об использовании этого сценария создается элемент

<unnamed>
следующего вида:

<unnamed name="Расш" helpstring="Расширения файлов" many="true" required=2/>

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

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

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

Затем в сценарии создается коллекция

objUnnamedArgs
(объект
WshUnnamed
), которая содержит все безымянные аргументы командной строки, реально переданные в сценарий:

objUnnamedArgs=WScript.Arguments.Unnamed; //Создаем объект WshUnnamed

После этого определяется общее число реально переданных в сценарий параметров командной строки (свойство

length
) и в цикле
while
организуется перебор всех элементов коллекции
objUnnamedArgs
.

//Определяем количество безымянных аргументов

s="Передано в сценарий безымянных аргументов: "+objUnnamedArgs.length;

for (i=0; i<=objUnnamedArgs.length-1; i++)

 //Формируем строки со значениями безымянных аргументов

 s+="\n"+objUnnamedArgs(i);

//Выводим полученные строки на экран

WScript.Echo(s);

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

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

Мимик нового Мира 8

Северный Лис
7. Мимик!
Фантастика:
юмористическая фантастика
постапокалипсис
рпг
5.00
рейтинг книги
Мимик нового Мира 8

Отмороженный 4.0

Гарцевич Евгений Александрович
4. Отмороженный
Фантастика:
боевая фантастика
постапокалипсис
рпг
5.00
рейтинг книги
Отмороженный 4.0

Младший научный сотрудник 2

Тамбовский Сергей
2. МНС
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Младший научный сотрудник 2

Измена. Мой непрощённый

Соль Мари
2. Самойловы
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. Мой непрощённый

Измена. (Не)любимая жена олигарха

Лаванда Марго
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. (Не)любимая жена олигарха

"Малыш"

Рам Янка
2. Девочка с придурью
Любовные романы:
современные любовные романы
эро литература
6.00
рейтинг книги
Малыш

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

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

Невеста напрокат

Завгородняя Анна Александровна
Любовные романы:
любовно-фантастические романы
6.20
рейтинг книги
Невеста напрокат

Отмороженный 3.0

Гарцевич Евгений Александрович
3. Отмороженный
Фантастика:
боевая фантастика
рпг
5.00
рейтинг книги
Отмороженный 3.0

Законы Рода. Том 3

Flow Ascold
3. Граф Берестьев
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Законы Рода. Том 3

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

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

Мерзавец

Шагаева Наталья
3. Братья Майоровы
Любовные романы:
современные любовные романы
эро литература
короткие любовные романы
5.00
рейтинг книги
Мерзавец

Совпадений нет

Безрукова Елена
Любовные романы:
любовно-фантастические романы
5.50
рейтинг книги
Совпадений нет

Сбой Системы Мимик! Академия

Северный Лис
2. Сбой Системы!
Фантастика:
боевая фантастика
юмористическая фантастика
5.71
рейтинг книги
Сбой Системы Мимик! Академия