Попов Андрей Викторович
Шрифт:
<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).