<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.
<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();
Значение полученной таким образом переменной s выводится затем на экран:
WScript.Echo("Здравствуйте, "+s+"!");
Таким образом, после запуска сценария multilang.wsf на экран выводится диалоговое окно для ввода имени пользователя, показанное на рис. 3.9.
Рис. 3.9. Окно ввода (функция InputBox языка VBScript)
После ввода информации на экран выводится окно, показанное на рис. 3.10.
Рис. 3.10. Стандартное окно вывода WSH
<job id="Example">
<runtime>
<description>
Имя: multilang.wsf
Кодировка: Windows
Описание: Использование функции InputBox в JScript-сценарии
</description>
</runtime>
<script language="VBScript">
Function InputName ' Описываем функцию на языке VBScript
' Вводим имя в диалоговом окне