Книга: Windows Script Host для Windows 2000/XP
Элемент
Элемент <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 следующим образом:
wscript.exe unnamed.wsf vbs js
то на экран будет выведено диалоговое окно, показанное на рис. 3.5.
Рис. 3.5. Значения безымянных аргументов командной строки, переданных в unnamed.wsf
Листинг 3.4. Файл unnamed.wsf
<job>
<runtime>
<description>
Имя: unnamed.wsf
Кодировка: Windows
</description>
<unnamed name="Расш" helpstring="Расширения файлов" many="true" required="2"/>
</runtime>
<script language="JScript">
var objUnnamedArgs,s;
//Вызываем метод ShowUsage для вывода на экран описания сценария
WScript.Arguments.ShowUsage();
objUnnamedArgs=WScript.Arguments.Unnamed; //Создаем объект WshUnnamed
//Определяем количество безымянных аргументов
s="Передано в сценарий безымянных аргументов: "+objUnnamedArgs.length;
for (i=0; i<=objUnnamedArgs.length-1; i++)
//Формируем строки со значениями безымянных аргументов
s+="n"+objUnnamedArgs(i);
//Выводим полученные строки на экран
WScript.Echo(s);
</script>
</job>
- Создание свободно позиционируемых элементов
- 6.4. Рабочий лист Excel и его структурные элементы
- Письма с элементами графики и вложениями
- Элемент STYLE
- 4.4. Логические элементы и синтез логических схем
- 4.7 Структурные элементы SAN
- Добавление, изменение и удаление элементов списка
- Восстановление элементов списка из Корзины
- Вложение файлов в элементы списков
- Логические элементы
- 5.2. Основные приемы работы, элементы текстового редактора
- Правило 16. Группируйте связанные между собой элементы