Для запуска второго задания, выводящего на экран строку 'Второе задание (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 -->

 <reference object='Scripting.FileSystemObject'/>

 <script language='JScript'>

  var s;

  s='Значения констант объекта FileSystemObject: ';

  //Получаем значение константы ForReading

  s+='ForReading='+ForReading+' ';

  //Получаем значение константы ForWriting

  s+='ForWriting='+ForWriting+' ';

  //Получаем значение константы ForAppending

  s+='ForAppending='+ForAppending;

  //Выводим полученные строки на экран

  WScript.Echo(s);

 </script>

</job>

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

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

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

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

Для примера создадим файл inc.js, в который запишем строку

WScript.Echo('Здесь выполняется сценарий inc.js');

и файл main.wsf, содержание которого приведено в листинге 3.11.

Листинг 3.11. Подключение внешнего сценария (файл main wsf)

<job id='Example'>

 <runtime>

  <description>

  Имя: main.wsf

  Кодировка: Windows

  Описание: Подключение сценария, находящегося во внешнем файле

  </description>

 </runtime>

 <!-- Подключаем сценарий из файла inc.js -->

 <script language='JScript' src='inc.js'/>

 <!-- Определяем основной сценарий -->

 <script language='JScript'>

  WScript.Echo('Здесь выполняется основной сценарий');

 </script>

</job>

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

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

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

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

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

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

<script language='VBScript'>

Function InputName

 InputName = InputBox('Введите Ваше имя:', 'Окно ввода VBScript')

End Function

</script>

Затем в следующем разделе <script> приводится JScript-сценарий, в котором происходит вызов функции InputName и сохранение возвращаемого ею значения в переменной s:

var s;

s = InputName();

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

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

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