Windows Script Host для Windows 2000/XP | страница 17
>/************* Конец *********************************************/
Однако намного удобнее использовать методы >Count и >Item самого объекта >WshArguments (метод >Item имеется у всех коллекций WSH). Метод >Count возвращает число элементов в коллекции, т. е. количество аргументов командной строки, а метод >Item(n) — значение n-го элемента коллекции (нумерация начинается с нуля). Более того, чтобы получить значение отдельного элемента коллекции >WshArguments, можно просто указать его индекс в круглых скобках после имени объекта.
Число элементов в коллекции хранится и в свойстве >Length объекта >WshArguments.
Таким образом, предыдущий пример можно переписать более компактным образом (листинг 1.5).
>/*******************************************************************/
>/* Имя: ShowArgs.js */
>/* Язык: JScript */
>/* Описание: Вывод на экран параметров запущенного сценария */
>/*******************************************************************/
>var i, objArgs;
>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