objArgs = WScript.Arguments; //Создаем объект WshArguments
for (i=0; i<=objArgs.Count-1; i++)
WScript.Echo(objArgs(i)); //Выводим на экран i-й аргумент
/************* Конец *********************************************/
С помощью объекта
WshArguments
можно также выделять и отдельно обрабатывать аргументы сценария, у которых имеются имена (например,
/Name:Andrey
) и безымянные аргументы. Ясно, что использование именных параметров более удобно, т. к. в этом случае нет необходимости запоминать, в каком порядке должны быть записаны параметры при запуске того или иного сценария.
Для доступа к именным и безымянным аргументам используются соответственно два специальных свойства объекта
WshArguments
:
Named
и
Unnamed
.
Свойство
Named
содержит ссылку на коллекцию
WshNamed
, свойство
Unnamed
— на коллекцию
WshUnnamed
.
Таким образом, обрабатывать параметры командной строки запущенного сценария можно тремя способами:
просматривать полный
набор всех параметров (как именных, так и безымянных) с помощью коллекции
WshArguments
;
выделить только те параметры, у которых есть имена (именные параметры) с помощью коллекции
WshNamed
;
выделить только те параметры, у которых нет имен (безымянные параметры) с помощью коллекции
WshUnnamed
.
У объекта
WshArguments
имеется еще один метод
ShowUsage
. Этот метод служит для вывода на экран информации о запущенном сценарии (описание аргументов командной строки, пример запуска сценария и т.д.). В свою очередь, подобную информацию можно задать только при использовании WSH-сценариев с разметкой XML; более подробно о применении метода
ShowUsage
идет речь в главе 3 при рассмотрении элементов
<runtime>
,
<description>
,
<example>
,
<named>
и
<unnamed>
.
Объект WshNamed
Объект
WshNamed
содержит коллекцию параметров командной строки запущенного сценария, у которых имеется уникальное имя (именные параметры). В WSH 5.6 именной параметр всегда начинается с символа "/", после чего приводится имя этого параметра, затем ставится двоеточие ":" и пишется значение параметра, например:
/Name:Andrey
В качестве значения именного параметра рассматривается набор символов, начинающихся после двоеточия и заканчивающихся перед первым встретившимся пробелом. Для того чтобы значением параметра командной строки была строка, состоящая из нескольких слов, необходимо заключить эту строку в кавычки. Например:
/Name:"Andrey Popov"
Создается объект WshNamed с помощью свойства
Named
коллекции
WshArguments
. Для того чтобы получить значение определенного аргумента, его имя используется в качестве индекса коллекции.
Замечание
Узнать число именных параметров можно только с помощью свойства
Length
коллекции
WshNamed
; метода
Count
у этой коллекции нет.
Например, пусть сценарий MyScript.js запущен с двумя именными параметрами:
MyScript.js /User:Andrey /Computer:Server1
Тогда вывести на экран значение параметров Name и Computer можно двумя способами: