Рассмотрим в качестве примера сценарий unnamed.wsf, в который в качестве параметров командной строки должны передаваться расширения файлов, причем обязательно должны быть указаны хотя бы два таких расширения (листинг 3.4).
Для создания информации об использовании этого сценария создается элемент следующего вида:
После запуска с помощью wscript.exe в сценарии unnamed.wsf сначала вызывается метод WScript.Arguments.Usage
, в результате чего на экран выводится диалоговое окно с информацией о сценарии и параметрах командной строки (рис. 3.4).
Рис. 3.4.Диалоговое окно с информацией о параметрах сценария unnamed.wsf
Затем в сценарии создается коллекция objUnnamedArgs
(объект WshUnnamed
), которая содержит все безымянные аргументы командной строки, реально переданные в сценарий:
objUnnamedArgs=WScript.Arguments.Unnamed; //Создаем объект WshUnnamed
После этого определяется общее число реально переданных в сценарий параметров командной строки (свойство length
) и в цикле while
организуется перебор всех элементов коллекции objUnnamedArgs
.
//Определяем количество безымянных аргументов
s="Передано в сценарий безымянных аргументов: "+objUnnamedArgs.length;
for (i=0; i<=objUnnamedArgs.length-1; i++)
//Формируем строки со значениями безымянных аргументов
s+="\n"+objUnnamedArgs(i);
//Выводим полученные строки на экран
WScript.Echo(s);
Если запустить сценарий unnamed.wsf следующим образом:
wscript.exe unnamed.wsf vbs js
то на экран будет выведено диалоговое окно, показанное на рис. 3.5.
Рис. 3.5.Значения безымянных аргументов командной строки, переданных в unnamed.wsf
Листинг 3.4. Файл unnamed.wsf
Имя: unnamed.wsf
Кодировка: Windows
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);
Внутри элемента помещается текст (без дополнительных кавычек), описывающий назначение сценария. Как и все элементы внутри , этот текст выводится на экран, если сценарий был запущен с ключом /?
в командной строке или если в сценарии встретился вызов метода ShowUsage
объекта WshArguments
. При выводе текста на экран учитываются все имеющиеся в нем пробелы, символы табуляции и перевода строки.
Пример использования элемента и метода ShowUsage представлен в сценарии descrip.wsf (листинг 3.5). Здесь сразу вызывается метод WScript.Arguments.ShowUsage, в результате чего на экран выводится диалоговое окно (в случае запуска сценария с помощью wscript.exe) (рис. 3.6, а) или просто строки текста (в случае запуска сценария с помощью cscript.exe) с описанием запущенного сценария (рис. 3.6, б).
а
б
Рис. 3.6.Вывод текста, описывающего сценарий: а — в графическом режиме; б — в консольном режиме
Листинг 3.5. Файл descrip.wsf
Имя: descrip.wsf
Кодировка: Windows
Описание: Здесь можно привести дополнительное описание сценария
//Вызываем метод ShowUsage
WScript.Arguments.ShowUsage();
Внутри элемента приводится текст из одной или нескольких строк, в котором можно описать примеры запуска сценария. Если сценарий был запущен с ключом /?
в командной строке или в сценарии встретился вызов метода ShowUsage
объекта WshArguments
, то этот текст выводится в графическое диалоговое окно (при использовании wscript.exe) или на экран (в консольном режиме при использовании cscript.exe). При выводе текста на экран учитываются все имеющиеся в нем пробелы, символы табуляции и перевода строки, при этом строки из элемента выводятся после строк из элемента (рис. 3.7).
Читать дальше