Например, доступ к константам объекта FileSystemObject
организуется следующим образом:
После этого в сценариях можно просто использовать константы с именами ForReading
или ForAppending
, не заботясь об их числовых значениях (соответствующий пример приведен в листинге 3.10).
Элемент с помощью атрибута language
позволяет определить язык сценария ( language="JScript"
для языка JScript и language="VBScript"
для языка VBScript). Это делает возможным использовать в одном задании сценарии, написанные на разных языках, что иногда бывает очень удобно. Предположим, что у вас имеются сценарии на JScript и VBScript, функции которых необходимо объединить. Для этого не нужно переписывать один из сценариев на другой язык — используя WS-файл, можно из сценария JScript спокойно вызывать функции, написанные на VBScript, и наоборот! Пример подобного сценария приведен в листинге 3.12.
Атрибут src
позволяет подключить к выполняющемуся сценарию внешний файл с другим сценарием. Например, задание элемента
приведет к такому же результату, как если бы содержимое файла tools.js было расположено между тегами и :
Содержимое файла tools.js
Таким образом, можно выделить код, который должен использоваться в нескольких сценариях, поместить его в один или несколько внешних файлов, а затем по мере необходимости просто подключать с помощью атрибута src
эти файлы к другим сценариям.
Замечание
Элемент является вторым обязательным элементом в сценариях WSH с разметкой XML.
Примеры сценариев с разметкой XML
Приведем примеры сценариев, иллюстрирующие основные свойства WS-файлов.
Строгий режим обработки WS-файла
Напомним, что здесь обязательными являются элементы и . Соответствующий пример сценария strict.wsf приведен в листинге 3.8.
Листинг 3.8. Файл strict.wsf
Имя: strict.wsf
Кодировка: Windows
Описание: Пример строгого режима обработки WS-файла
WScript.Echo("Всем привет!");
]]>
Несколько заданий в одном файле
Каждое отдельное задание в WS-файле должно находиться внутри элементов и . В свою очередь, все элементы являются дочерними элементами контейнера .
В качестве примера рассмотрим сценарий multijob.wsf, приведенный в листинге 3.9. Здесь описываются два задания с идентификаторами "VBS" (сценарий на языке VBScript) и "JS" (сценарий на языке JScript).
Листинг 3.9. Файл multijob.wsf
Имя: multijob.wsf
Кодировка: Windows
Описание: Первое задание из example.wsf
WScript.Echo "Первое задание (VBScript)"
Имя: example.wsf
Кодировка: Windows
Описание: Второе задание из example.wsf
WScript.Echo("Второе задание (JScript)");
Для того чтобы выполнить первое задание сценария 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
Использование констант внешних объектов
Для того чтобы в сценарии обращаться по имени к константам, определенным во внешних объектах, не создавая экземпляров самих объектов, необходимо сначала получить ссылку на эти объекты с помощью элемента .
В листинге 3.10 приведен сценарий refer.wsf, в котором с помощью элемента производится доступ к трем константам объекта FileSystemObject
( ForReading
, ForWriting
и ForAppending
), которые определяют режим работы из сценария с внешним текстовым файлом.
Листинг 3.10. Использование в сценарии констант внешних объектов (файл refer.wsf)
Имя: refer.wsf
Кодировка: Windows
Описание: Использование констант внешних объектов
var s;
s="Значения констант объекта FileSystemObject:\n\n";
//Получаем значение константы ForReading
s+="ForReading="+ForReading+"\n";
//Получаем значение константы ForWriting
s+="ForWriting="+ForWriting+"\n";
//Получаем значение константы ForAppending
s+="ForAppending="+ForAppending;
//Выводим полученные строки на экран
WScript.Echo(s);
В результате выполнения сценария refer.wsf на экран выведется диалоговое окно с информацией о значениях констант объекта FileSystemObject
(рис. 3.8).
Читать дальше