Windows Script Host для Windows 2000/XP | страница 17



>/*************  Конец *********************************************/

Однако намного удобнее использовать методы >Count и >Item самого объекта >WshArguments (метод >Item имеется у всех коллекций WSH). Метод >Count возвращает число элементов в коллекции, т. е. количество аргументов командной строки, а метод >Item(n) — значение n-го элемента коллекции (нумерация начинается с нуля). Более того, чтобы получить значение отдельного элемента коллекции >WshArguments, можно просто указать его индекс в круглых скобках после имени объекта.

Замечание

Число элементов в коллекции хранится и в свойстве >Length объекта >WshArguments.

Таким образом, предыдущий пример можно переписать более компактным образом (листинг 1.5).

Листинг 1.5. Вывод всех параметров сценария (методы WSH)

>/*******************************************************************/

>/* Имя: 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