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

ЖАНРЫ

Windows Script Host для Windows 2000/XP

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

Шрифт:

 //Определяем количество безымянных аргументов

 s="Передано в сценарий безымянных аргументов: "+objUnnamedArgs.length;

 for (i=0; i<=objUnnamedArgs.length-1; i++)

//Формируем строки со значениями безымянных аргументов

s+="\n"+objUnnamedArgs(i);

 //Выводим полученные строки на экран

 WScript.Echo(s);

 </script>

</job>

Элемент <description>

Внутри элемента

<description>
помещается текст (без дополнительных кавычек), описывающий назначение сценария. Как и все элементы внутри
<runtime>
, этот текст выводится на экран, если сценарий был запущен с ключом
/?
в командной строке или если в сценарии встретился вызов метода
ShowUsage
объекта
WshArguments
. При выводе текста на экран учитываются все имеющиеся в нем пробелы, символы табуляции и перевода строки.

Пример использования элемента <description> и метода ShowUsage представлен в сценарии descrip.wsf (листинг 3.5). Здесь сразу вызывается метод WScript.Arguments.ShowUsage, в результате чего на экран выводится диалоговое окно (в случае запуска сценария с помощью wscript.exe) (рис. 3.6, а) или просто строки текста (в случае запуска сценария с помощью cscript.exe) с описанием запущенного сценария (рис. 3.6, б).

а

б

Рис. 3.6. Вывод текста, описывающего сценарий: а — в графическом режиме; б — в консольном режиме 

Листинг 3.5. Файл descrip.wsf

<job id="Descrip">

 <runtime>

<description>

Имя: descrip.wsf

Кодировка: Windows

Описание: Здесь можно привести дополнительное описание сценария

</description>

 </runtime>

 <script language="JScript">

 //Вызываем метод ShowUsage

 WScript.Arguments.ShowUsage;

 </script>

</job>
 

Элемент <example>

Внутри элемента

<example>
приводится текст из одной или нескольких строк, в котором можно описать примеры запуска сценария. Если сценарий был запущен с ключом
/?
в командной строке или в сценарии встретился вызов метода
ShowUsage
объекта
WshArguments
, то этот текст выводится в графическое диалоговое окно (при использовании wscript.exe) или на экран (в консольном режиме при использовании cscript.exe). При выводе текста на экран учитываются все имеющиеся в нем пробелы, символы табуляции и перевода строки, при этом строки из элемента
<example>
выводятся после строк из элемента
<description>
(рис. 3.7).

Рис. 3.7. Диалоговое окно, формируемое элементами

<description>
и
<example>

Сценарий example.wsf, диалоговое окно с описанием которого показано на рис. 3.7, приведен в листинге 3.6.

Листинг 3.6. Файл example.wsf

<job id="Example">

 <runtime>

<description>

Имя: example.wsf

Кодировка: Windows

Описание: Здесь можно привести дополнительное описание сценария

</description>

<example>

Здесь приводится пример запуска сценария

(с параметрами командной строки, например)

</example>

 </runtime>

 <script language="JScript">

 //Вызываем метод ShowUsage

 WScript.Arguments.ShowUsage;

 </script>

</job>
 

Элемент <resource>

Элемент

<resource>
позволяет отделить символьные или числовые константы (ресурсы) от остального кода сценария. Например, таким образом удобно собрать в одном месте строки, которые используются в сценарии для вывода каких-либо стандартных сообщений. Если после этого понадобится изменить сообщения в сценарии (например, перевести их на другой язык), то достаточно будет внести соответствующие корректировки в строки, описанные в элементах
<resource>
.

Для получения значения ресурса в сценарии нужно вызвать метод

getResource
, передав в качестве параметра символьный идентификатор ресурса (значение атрибута id).

В листинге 3.7 представлен пример сценария resource.wsf, в котором определяется ресурсная строка с идентификатором "

MyName
":

<resource id="MyName"> Меня зовут Андрей Попов </resource>

Значение этого ресурса затем выводится на экран с помощью метода

Echo
объекта
WScript
и метода
getResource
:

WScript.Echo(getResource("MyName"));

Листинг 3.7. Файл resource.wsf

<job id="Resource">

 <runtime>

<description>

Имя: resource.wsf

Описание: Пример использования в сценарии ресурсных строк

</description>

 </runtime>

 <resource id="MyName">

 Меня зовут Андрей Попов

 </resource>

 <script language="JScript">

 //Выводим на экран значение ресурса "MyName"

 WScript.Echo(getResource("MyName"));

 </script>

</job>

Элемент <object>

Элемент

<object>
предлагает еще один способ создания экземпляра COM-объектов для использования их внутри сценариев. Напомним, что ранее для этого мы использовали методы
CreateObject
и
GetObject
объекта
WScript
, объект
ActiveXObject
и функцию
GetObject
языка JScript, а также функцию
CreateObject
языка VBScript. Элемент
<object>
может заменить эти средства.

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