Таким образом, можно выделить код, который должен использоваться в нескольких сценариях, поместить его в один или несколько внешних файлов, а затем по мере необходимости просто подключать с помощью атрибута src эти файлы к другим сценариям.

Замечание

Элемент

<p>Несколько заданий в одном файле </p>

Каждое отдельное задание в WS-файле должно находиться внутри элементов и . В свою очередь, все элементы являются дочерними элементами контейнера .

В качестве примера рассмотрим сценарий multijob.wsf, приведенный в листинге 3.9. Здесь описываются два задания с идентификаторами "VBS" (сценарий на языке VBScript) и "JS" (сценарий на языке JScript).

Листинг 3.9. Файл multijob.wsf

 

 

 

  

   Имя: multijob.wsf

   Кодировка: Windows

   Описание: Первое задание из example.wsf

  

 

 

 

 

 

 

  

   Имя: example.wsf

   Кодировка: Windows

   Описание: Второе задание из example.wsf

  

 

 

 

Для того чтобы выполнить первое задание сценария 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 

<p>Использование констант внешних объектов</p>

Для того чтобы в сценарии обращаться по имени к константам, определенным во внешних объектах, не создавая экземпляров самих объектов, необходимо сначала получить ссылку на эти объекты с помощью элемента .

В листинге 3.10 приведен сценарий refer.wsf, в котором с помощью элемента производится доступ к трем константам объекта FileSystemObject (ForReading, ForWriting и ForAppending), которые определяют режим работы из сценария с внешним текстовым файлом.

Листинг 3.10. Использование в сценарии констант внешних объектов (файл refer.wsf)

 

 

  Имя: refer.wsf

  Кодировка: Windows

  Описание: Использование констант внешних объектов

 

 

 

 

 

В результате выполнения сценария refer.wsf на экран выведется диалоговое окно с информацией о значениях констант объекта FileSystemObject (рис. 3.8).

Рис. 3.8. Результат работы сценария refer.wsf 

<p>Подключение внешних файлов</p>

К WS-файлу можно подключать "обычные" JScript- или VBScript-сценарии, которые находятся во внешних файлах. Для этого нужно указать путь к этому внешнему файлу в атрибуте src элемента

Если запустить main.wsf с помощью cscript.exe, то на экран выведутся две строки:

Здесь выполняется сценарий inc.js

Здесь выполняется основной сценарий

<p>Два языка внутри одного задания (использование функции InputBox языка VBScript в сценариях JScript)</p>

Как уже отмечалось в главе 2, ни в WSH, ни в JScript нет метода или функции, которые позволяли бы в графическом режиме создать диалоговое окно для ввода текста. Однако в языке VBScript имеется функция InputBox, предназначенная как раз для этой цели; используя разметку XML, мы можем легко использовать эту функцию в сценариях JScript. Соответствующий пример приведен в сценарии multilang.wsf (листинг 3.12).

Сначала в этом сценарии на языке VBScript описывается функция InputName, которая возвращает строку, введенную с помощью функции InputBox:

Затем в следующем разделе

  

 

<p>Глава 4 </p><p>Безопасность при работе со сценариями WSH</p>

Одним из главных преимуществ WSH является возможность запуска программ-сценариев, которые хранятся в виде исходного текста, что максимально упрощает процессы написания и распространения программ — не нужны ни дополнительные компиляторы для создания исполняемого кода, ни специальные утилиты для установки и регистрации сценариев в операционной системе. Однако при использовании таких сценариев в силу той же простоты сразу возникает несколько проблем.

Во-первых, исходный код сценария является незащищенным — любой пользователь, запускающий сценарий, может модифицировать его и использовать в дальнейшем как свой собственный (нарушаются авторские права автора).

Во-вторых, простота распространения и выполнения сценариев открывает широкие возможности для написания вредоносных сценариев-вирусов, которые могут, например, рассылаться по электронной почте, как широко известный вирус "I Love You".

Перейти на страницу:

Похожие книги