Чтение онлайн

ЖАНРЫ

Windows Script Host для Windows 2000/XP

Попов Андрей Викторович

Шрифт:
Листинг 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 -->

 <reference object="Scripting.FileSystemObject"/>

 <script language="JScript">

var s;

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

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

s+="ForReading="+ForReading+"\n";

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

s+="ForWriting="+ForWriting+"\n";

//Получаем значение константы 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)

Поделиться с друзьями: