листинг 3.1). Другими словами, <package> является контейнером для элементов <job>.

Если же в WS-файле определено только одно задание, то элемент <package> можно не использовать.

Элемент <job>

Элементы <job> позволяют определять несколько заданий (независимо выполняющихся частей) в одном WS-файле. Иначе говоря, между тегами <job> и </job> будет находиться отдельный сценарий (который, в свою очередь, может состоять из нескольких частей, написанных, возможно, на разных языках).

У элемента <job> имеется единственный атрибут id, который определяет уникальное имя задания. Например, в сценарии two_jobs.wsf определяются два задания с именами 'Task1' и 'Task2' (листинг 3.2).

Листинг 3.2. Файл two_jobs.wsf

<package>

<job id='Task1'>

<!-- Описываем первое задание (id='Task1') -->

<script language='VBScript'>

 WScript.Echo 'Выполняется первое задание (VBScript)'

</script>

</job>

<job id='Task2'>

<!-- Описываем второе задание (id='Task1') -->

<script language='JScript'>

 WScript.Echo 'Выполняется второе задание (JScript)'

</script>

</job>

</package>

Для того чтобы запустить конкретное задание из многозадачного WS-файла, нужно воспользоваться параметром //job:'JobID' в командной строке WSH. Например, следующая команда:

cscript //job:'Task1' two_jobs.wsf

запускает с помощью cscript.exe задание с именем 'Task1' из файла two_jobs.wsf.

Замечание

Если параметр //job не указан, то по умолчанию из многозадачного WS-файла запускается первое задание.

Если в WS-файле имеется несколько заданий, то они должны находиться внутри элемента <package>. Элемент <job> является одним из двух обязательных элементов в сценариях WSH с разметкой XML.

Элемент <runtime>

При запуске почти всех стандартных команд или утилит командной строки Windows с ключом /? на экран выводится встроенная справка, в которой кратко описываются назначение и синтаксис этой команды или утилиты (рис. 3.1).

Рис. 3.1. Встроенная справка для команды COPY

Хорошим тоном считается создание такой справки и для разрабатываемых сценариев WSH. Понятно, что добавление в сценарий функции вывода информации о назначении, синтаксисе и аргументах этого сценария потребовало бы написания довольно большого количества кода: необходимо следить за ключом /? в командной строке, а при добавлении нового параметра командной строки возникнет необходимость изменения функции, отвечающей за вывод информации на экран.

Элемент <runtime> позволяет сделать сценарий самодокументируемым, т.е. в этом случае при задании в командной строке ключа /? на экран будет автоматически выводиться информация об использовании сценария, о его синтаксисе и аргументах (именных и безымянных), а также пример запуска сценария с конкретными значениями аргументов.

При этом сам элемент <runtime> является лишь контейнером, а содержимое для вывода информации хранится в элементах <named> (описание именных параметров командной строки), <unnamed> (описание безымянных параметров командной строки), <description> (описание самого сценария) и <example> (пример запуска сценария), которые находятся внутри <runtime>.

Замечание

Элемент <runtime> является дочерним относительно <job>, поэтому все описания, приведенные внутри <runtime>, относятся только к текущему заданию.

Элемент <named>

С помощью элементов <named> можно описывать (документировать) именные параметры командной строки сценария. В табл. 3.1 приведено описание аргументов элемента <named>.

Таблица 3.1. Аргументы элемента <named>

Аргумент Описание
name Задает имя параметра командной строки
helpstring Строка, содержащая описание параметра командной строки
Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату