Windows Script Host для Windows 2000/XP - Андрей Попов
Шрифт:
Интервал:
Закладка:
В РљРѕРґРёСЂРѕРІРєР°: Windows
В </description>
 <unnamed name="Расш" helpstring="Расширения файлов" many="true" required="2"/>
В </runtime>
В <script language="JScript">
В var objUnnamedArgs,s;
 //Вызываем метод ShowUsage для вывода на экран описания сценария
В WScript.Arguments.ShowUsage();
 objUnnamedArgs=WScript.Arguments.Unnamed; //Создаем объект WshUnnamed
 //Определяем количество безымянных аргументов
 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> может заменить эти средства.