Таким образом, можно выделить код, который должен использоваться в нескольких сценариях, поместить его в один или несколько внешних файлов, а затем по мере необходимости просто подключать с помощью атрибута
src
эти файлы к другим сценариям.
Замечание
Элемент
<script>
является вторым обязательным элементом в сценариях WSH с разметкой XML.
Примеры сценариев с разметкой XML
Приведем примеры
сценариев, иллюстрирующие основные свойства WS-файлов.
Строгий режим обработки WS-файла
Напомним, что здесь обязательными являются элементы
<?xml?>
и
<![CDATA[]]>
. Соответствующий пример сценария strict.wsf приведен в листинге 3.8.
Описание: Пример строгого режима обработки WS-файла
</description>
</runtime>
<script language="JScript">
<![CDATA[
WScript.Echo("Всем привет!");
]]>
</script>
</job>
Несколько заданий в одном файле
Каждое отдельное задание в WS-файле должно находиться внутри элементов
<job>
и
</job>
. В свою очередь, все элементы
<job>
являются дочерними элементами контейнера
<package>
.
В качестве примера рассмотрим сценарий multijob.wsf, приведенный в листинге 3.9. Здесь описываются два задания с идентификаторами "VBS" (сценарий на языке VBScript) и "JS" (сценарий на языке JScript).
Листинг 3.9. Файл multijob.wsf
<package>
<job id="VBS">
<!-- Описываем первое задание (id="VBS") -->
<runtime>
<description>
Имя: multijob.wsf
Кодировка: Windows
Описание: Первое задание из example.wsf
</description>
</runtime>
<script language="VBScript">
WScript.Echo "Первое задание (VBScript)"
</script>
</job>
<job id="JS">
<!--
Описываем второе задание (id="JS") -->
<runtime>
<description>
Имя: example.wsf
Кодировка: Windows
Описание: Второе задание из example.wsf
</description>
</runtime>
<script language="JScript">
WScript.Echo("Второе задание (JScript)");
</script>
</job>
</package>
Для того чтобы выполнить первое задание сценария multijob.wsf, которое выведет на экран строку "
Первое задание (VBScript)
", нужно выполнить одну из следующих команд:
cscript //job:"VBS" multijob.wsf
cscript multijob.wsf
wscript //job:"VBS" multijob.wsf
wscript multijob.wsf
Для запуска второго задания, выводящего на экран строку "
Второе задание (JScript)
", нужно явно указывать идентификатор этого задания, поэтому используется одна из двух команд:
cscript //job:"JS" multijob.wsf
wscript //job:"JS" multijob.wsf
Использование констант внешних объектов
Для того чтобы в сценарии обращаться по имени к константам, определенным во внешних объектах, не создавая экземпляров самих объектов, необходимо сначала получить ссылку на эти объекты с помощью элемента
<reference>
.
В листинге 3.10 приведен сценарий refer.wsf, в котором с помощью элемента
<reference>
производится доступ к трем константам объекта
FileSystemObject
(
ForReading
,
ForWriting
и
ForAppending
), которые определяют режим работы из сценария с внешним текстовым файлом.
Листинг 3.10. Использование в сценарии констант внешних объектов (файл refer.wsf)
<job id="Example">
<runtime>
<description>
Имя: refer.wsf
Кодировка: Windows
Описание: Использование констант внешних объектов
</description>
</runtime>
<!-- Получаем ссылку на объект FileSystemObject -->