Чтение онлайн

на главную - закладки

Жанры

Windows Script Host для Windows 2000/XP

Попов Андрей Викторович

Шрифт:

var objArgs, e, x;

objArgs = WScript.Arguments; //Создаем объект WshArguments

//Создаем объект Enumerator для коллекции objArgs

e = new Enumerator(objArgs);

for (;!e.atEnd;e.moveNext) {

 x = e.item; //Получаем значение элемента коллекции

 WScript.Echo(x); //Выводим значение параметра на экран

}

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

Однако

намного удобнее использовать методы
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
. Этот метод служит для вывода на экран информации о запущенном сценарии (описание аргументов командной строки, пример запуска сценария и т.д.). В свою очередь, подобную информацию можно задать только при использовании 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 можно двумя способами:

var objNamedArgs;

objNamedArgs=WScript.Arguments.Named;

WScript.Echo("Имя пользователя: "+objNamedArgs.Item("User"));

WScript.Echo("Имя компьютера: "+objNamedArgs.Item ("Computer"));

или просто

var objNamedArgs;

objNamedArgs=WScript.Arguments.Named;

Поделиться:
Популярные книги

Кодекс Крови. Книга III

Борзых М.
3. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга III

Отчий дом. Семейная хроника

Чириков Евгений Николаевич
Проза:
классическая проза
5.00
рейтинг книги
Отчий дом. Семейная хроника

Скандальная свадьба

Данич Дина
1. Такие разные свадьбы
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
Скандальная свадьба

Путанабус. Трилогия

Старицкий Дмитрий
Фантастика:
боевая фантастика
6.93
рейтинг книги
Путанабус. Трилогия

Идеальный мир для Лекаря 25

Сапфир Олег
25. Лекарь
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 25

Кодекс Крови. Книга ХVI

Борзых М.
16. РОС: Кодекс Крови
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Кодекс Крови. Книга ХVI

Проданная невеста

Wolf Lita
Любовные романы:
любовно-фантастические романы
5.80
рейтинг книги
Проданная невеста

Потомок бога

Решетов Евгений Валерьевич
1. Локки
Фантастика:
попаданцы
альтернативная история
аниме
сказочная фантастика
5.00
рейтинг книги
Потомок бога

С Д. Том 16

Клеванский Кирилл Сергеевич
16. Сердце дракона
Фантастика:
боевая фантастика
6.94
рейтинг книги
С Д. Том 16

Переиграть войну! Пенталогия

Рыбаков Артем Олегович
Переиграть войну!
Фантастика:
героическая фантастика
альтернативная история
8.25
рейтинг книги
Переиграть войну! Пенталогия

От Советского Информбюро - 1941-1945 (Сборник)

Неизвестен 3 Автор
Документальная литература:
биографии и мемуары
5.00
рейтинг книги
От Советского Информбюро - 1941-1945 (Сборник)

Санек 3

Седой Василий
3. Санек
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Санек 3

Прометей: повелитель стали

Рави Ивар
3. Прометей
Фантастика:
фэнтези
7.05
рейтинг книги
Прометей: повелитель стали

Отмороженный 14.0

Гарцевич Евгений Александрович
14. Отмороженный
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Отмороженный 14.0