Элемент
Элемент <resource> позволяет отделить символьные или числовые константы (ресурсы) от остального кода сценария. Например, таким образом удобно собрать в одном месте строки, которые используются в сценарии для вывода каких-либо стандартных сообщений. Если после этого понадобится изменить сообщения в сценарии (например, перевести их на другой язык), то достаточно будет внести соответствующие корректировки в строки, описанные в элементах <resource>.
Для получения значения ресурса в сценарии нужно вызвать метод getResource, передав в качестве параметра символьный идентификатор ресурса (значение атрибута id).
В листинге 3.7 представлен пример сценария resource.wsf, в котором определяется ресурсная строка с идентификатором 'MyName':
<resource id='MyName'> Меня зовут Андрей Попов </resource>
Значение этого ресурса затем выводится на экран с помощью метода Echo объекта WScript и метода getResource:
WScript.Echo(getResource('MyName'));
<job id='Resource'>
<runtime>
<description>
Имя: resource.wsf
Описание: Пример использования в сценарии ресурсных строк
</description>
</runtime>
<resource id='MyName'>
Меня зовут Андрей Попов
</resource>
<script language='JScript'>
//Выводим на экран значение ресурса 'MyName'
WScript.Echo(getResource('MyName'));
</script>
</job>
Элемент
Элемент <object> предлагает еще один способ создания экземпляра COM- объектов для использования их внутри сценариев. Напомним, что ранее для этого мы использовали методы CreateObject и GetObject объекта WScript, объект ActiveXObject и функцию GetObject языка JScript, а также функцию CreateObject языка VBScript. Элемент <object> может заменить эти средства.
Атрибут id в <object> — это имя, применяемое для обращения к объекту внутри сценария. Отметим, что объект, создаваемый с помощью тега <object>, будет глобальным по отношению к тому заданию, в котором он определен. Другими словами, этот объект может использоваться во всех элементах <script>, находящихся внутри элемента <job>, содержащего описание объекта.
Атрибуты classid и progid используются в <object> соответственно для указанияFileSystemObject (GUID='0D43FE01-F093-11CF-8940-00A0C9054228') можно двумя способами:
<object id='fso' classid='clsid:0D43FE01-F093-11CF-8940-00A0C9054228'/>
или
<object id='fso' progid='Scripting.FileSystemObject'/>
В обычном js-файле или внутри элемента <script> этот объект мы бы создали следующим образом:
var fso = WScript.CreateObject('Scripting.FileSystemObject');
или
var fso = new ActiveXObject('Scripting.FileSystemObject');
Элемент
При вызове многих методов внешних объектов, которые используются внутри сценариев, требуется указывать различные числовые или строковые константы, определенные в этих внешних объектах. Например, для того, чтобы открыть текстовый файл с помощью метода OpenTextFile объекта FileSystemObject, может потребоваться указать параметр, который определяет режим ввода/вывода (возможные значения констант ForReading=1, ForWriting=2 и ForAppending=8) открываемого файла. Ясно, что запомнить все значения констант различных объектов очень трудно, поэтому при их использовании приходится постоянно обращаться к справочной информации.
К счастью, большинство объектов предоставляет информацию об именах используемых ими констант в своей библиотеке типов (как уже отмечалось в<reference> как раз обеспечивает доступ к мнемоническим константам, определенным в библиотеке типов объекта (экземпляр объекта при этом не создается).
Для того чтобы воспользоваться константами определенного объекта, нужно в теге <reference> указать программный код этого объекта (атрибут object) илиguid), а также, при необходимости, номер версии объекта (атрибут version).
Например, доступ к константам объекта FileSystemObject организуется следующим образом:
<reference object='Scripting.FileSystemObject'/>
После этого в сценариях можно просто использовать константы с именами ForReading или ForAppending, не заботясь об их числовых значениях (соответствующий пример приведен в листинге 3.10).
Элемент
Элемент <script> с помощью атрибута language позволяет определить язык сценария (language='JScript' для языка JScript и language='VBScript' для языка VBScript). Это делает возможным использовать в одном
