Файл сценария Windows


Windows Script File ( WSF ) является тип файла , используемый Microsoft Windows Script хоста . Он позволяет смешивать языки сценариев JScript и VBScript в одном файле или другие языки сценариев, такие как Perl , Object REXX , Python или Kixtart, если они установлены пользователем. Эти типы сценариев также могут использоваться для связывания многих других внешних сценариев вместе с помощью srcпараметра " или "

Первый модуль сценария выдаст ошибку «делить на ноль». Обычно это приводит к завершению сценария на хосте сценариев Windows, но этот модульный метод позволяет сценарию продолжить работу и выполнить второй модуль сценария.

Файл сценария Windows поддерживает несколько языков, как описано в справочнике Windows Script Host . Одной из особенностей этого формата файла является то, что вы можете использовать сразу несколько файлов. Это означает, что один язык сценариев может использовать код другого языка сценариев. Наиболее запоминающимся примером для давних пользователей VBScript является использование Microsoft JScript для обслуживания запроса сортировки для VBScript, поскольку он не имеет встроенной функции сортировки для массива значений. VBScript пользователи могут написать свой собственный метод сортировки или заимствовать один из существующего объекта , как в ADO ( объекты ActiveX Data ) Recordset или .NET ( .NET Framework ) ArrayList , но самый быстрый способ сортировки массива заключается в использовании метода , встроенный в JScript . Вот простой пример того, как это работает:

 xml version = "1.0"?>    id = "SORT-VBScriptWithJScript" >      

Результат выглядит так, отсортированный по последовательности кода ASCII :

Исходный список значений: a, b, c, 1,2,3, X, Y, Z, p, d, qJScript, отсортированный за 0 секунд: 1,2,3, X, Y, Z, a, b, c, d, p, q

Другой очень полезной функцией WSF является то, что оболочка XML может быть привязана к ссылке на объект или элементу управления, чтобы вы могли использовать константы этого объекта вместо того, чтобы объявлять их. В обычных файлах VBScript и JScript вам придется объявить значение константы (за пределами тех, которые являются внутренними для Windows Script Host ), чтобы использовать константу. Пример этого показан ниже:

const adLockBatchOptimistic = 4   MsgBox "Значение" "adLockBatchOptimistic" "равно" & _    adLockBatchOptimistic & "." , vbInformation , "adLockBatchOptimistic"   

Если ваша документация по объекту ссылается только на имя константы, а не на значение константы, у вас не будет возможности узнать значение без помощи интегрированной среды разработки, которая скажет вам, чему они приравниваются. Используя объявление ссылки WSF, вы можете использовать константы без объявления их значений. В приведенном ниже примере перечислены значения нескольких общих констант в наборе записей ADO ( объекты данных ActiveX ) .

 xml version = "1.0"?> на объект Примечания к этому очень формальному примеру: CDATA используется, чтобы помочь синтаксическому анализатору XML игнорировать специальные символы в содержимом сценария. Открытие и закрытие CDATA необходимо замаскировать от VBScript, сделав к ним комментарии. ->    id = "EnumerateConstantsADO" >   object = "ADODB.Recordset"  />     

Запуск приведенного выше сценария из файла с ".WSF"расширением, например, с именем "EnumerateConstantsADO.wsf", даст результат, показанный ниже:

Значения набора записей ADO для констант* Константы CursorTypeEnum *-1 adOpenUnspecified0 adOpenForwardOnly1 adOpenKeyset2 adOpenDynamic3 adOpenStatic* Константы LockTypeEnum *-1 adLockUnspecified1 adLockReadOnly2 adLockPessimistic3 adLockOptimistic4 adLockBatchOptimistic

Кроме того, использование ссылки на объект для отображения констант делает написание сценария более похожим на написание на стандартном языке программирования. Фактически, содержимое примера сценария, написанного на VBScript, будет фактически компилироваться в программу Visual Basic и работать таким же образом, пока эта программа использует ту же ссылку на ADODB.