| Аргумент | Описание |
|---|---|
name | Задает имя параметра командной строки |
helpstring | Строка, содержащая описание параметра командной строки |
type | Определяет тип параметра командной строки. Может принимать значения "string" (символьный тип), "boolean" (логический тип), "simple" (в сценарий передается только имя параметра без дополнительного значения). По умолчанию используется тип "simple" |
required | Используется для того, чтобы показать, является ли параметр командной строки обязательным. Может принимать значения "true" (параметр нужно указывать обязательно) и "false" (параметр можно не указывать) |
Информация, которая указывается для объявляемого в элементе
required="true"), но в действительности не был указан при запуске сценария, то никакой ошибки во время работы не произойдет.Если для аргумента командной строки сценария указан тип "string
:", например:/Имя:"Андрей Попов" /Возраст:30
Если в качестве типа параметра командной строки используется "simple", то для этого параметра в командной строке указывается только его имя без значения:
/Имя /Возраст
Для того чтобы передать в сценарий аргумент командной строки типа "boolean", нужно после имени этого аргумента указать символ "+
-" (соответствует значению "ложь"). Например:/Запись+ /ReWrite-
В листинге 3.3 приведен сценарий named.wsf, в котором в блоке
□ /Имя
□ /Компьютер
□ /Новый
После запуска с помощью wscript.exe в сценарии named.wsf сначала вызывается метод WScript.Arguments.Usage
Рис. 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.