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

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

Жанры

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 следующим образом:

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

Очкарик

Афанасьев Семён
Фантастика:
фэнтези
5.75
рейтинг книги
Очкарик

Эволюционер из трущоб. Том 5

Панарин Антон
5. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Эволюционер из трущоб. Том 5

Истребители. Трилогия

Поселягин Владимир Геннадьевич
Фантастика:
альтернативная история
7.30
рейтинг книги
Истребители. Трилогия

Первый среди равных. Книга X

Бор Жорж
10. Первый среди Равных
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Первый среди равных. Книга X

Командор космического флота

Борчанинов Геннадий
3. Звезды на погонах
Фантастика:
боевая фантастика
космическая фантастика
космоопера
5.00
рейтинг книги
Командор космического флота

Назад в СССР 5

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

Мастер 10

Чащин Валерий
10. Мастер
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Мастер 10

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

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

Я - злодейка в дораме. Сезон второй

Вострова Екатерина
2. Выжить в дораме
Фантастика:
уся
фэнтези
сянься
попаданцы
5.00
рейтинг книги
Я - злодейка в дораме. Сезон второй

Надуй щеки! Том 3

Вишневский Сергей Викторович
3. Чеболь за партой
Фантастика:
попаданцы
дорама
5.00
рейтинг книги
Надуй щеки! Том 3

Ученик

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

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

Андрей Мельник
12. Граф Берестьев
Фантастика:
юмористическое фэнтези
аниме
фэнтези
5.00
рейтинг книги
Законы Рода. Том 12

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

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

Сильнейший Столп Империи. Книга 4

Ермоленков Алексей
4. Сильнейший Столп Империи
Фантастика:
фэнтези
аниме
фантастика: прочее
попаданцы
5.00
рейтинг книги
Сильнейший Столп Империи. Книга 4