Windows Script Host для Windows 2000/XP - [9]

Шрифт
Интервал

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

>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 при рассмотрении элементов >, >, >, > и >.

Объект 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;

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

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

Отметим также, что значением именного параметра, как и безымянного, может служить целая строка, состоящая из нескольких литералов и заключенная в кавычки, например:

>MyScript.js /User:"Andrey Popov" /Computer:Server1

Тогда в результате выполнения в сценарии MyScript.js следующей строки:

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

на экран будет выведено

>Имя пользователя: Andrey Popov

Для того чтобы узнать, был ли указан при запуске сценария тот или иной именной параметр, используется метод >Exists объекта >WshNamed. Например,

>if (WScript.Arguments.Named.Exists("User"))

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

Примеры, иллюстрирующие использование объекта WshNamed, приведены также в главе 2 (см. листинги 2.22 и 2.23).

Объект WshUnnamed

В коллекции >WshUnnamed содержатся параметры командной строки запущенного сценария, у которых нет имени (безымянные параметры). Создается этот объект с помощью свойства >Unnamed коллекции >WshArguments. Для того чтобы получить значение определенного аргумента, его номер используется в качестве индекса коллекции (нумерация начинается с нуля).

Замечание 

Узнать число безымянных параметров можно только с помощью свойства >Length коллекции >WshUnnamed; метода >Count у этой коллекции нет.

Например, сценарий MyScript.js запущен с двумя безымянными параметрами:

>MyScript.js "Andrey Popov" Server1

Тогда после выполнения в сценарии MyScript.js любого из следующих двух блоков:

>var objUnnamedArgs;

>obUnnamedArgs=WScript.Arguments.Unnamed;

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

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

или

>var objUnnamedArgs;

>obUnnamedArgs=WScript.Arguments.Unnamed;

>WScript.Echo("Имя пользователя: "+objUnnamedArgs(0));


Рекомендуем почитать
Яйцо кукушки или Преследуя шпиона в компьютерном лабиринте

В отличие от плохого танцора, хорошему сисадмину мешают только кукушкины яйца. Их откладывают в его компьютер злобные хакеры, чтобы из них вылупились программы, делающие своего папу-кукушку суперпользователем. Но сколько кабелю не виться — а кончику быть: бравый сисадмин не дремлет и за годик-другой выводит злоумышленников на чистую воду: на этот раз хакерская тусовка круто пролетела. Такого предельно краткое содержание классической книги эксперта по компьютерной безопасности Клиффа Столла «Яйцо кукушки».


Разработка приложений в среде Linux

Книга известных профессионалов в области разработки коммерческих приложений в Linux представляет собой отличный справочник для широкого круга программистов в Linux, а также тех разработчиков на языке С, которые перешли в среду Linux из других операционных систем. Подробно рассматриваются концепции, лежащие в основе процесса создания системных приложений, а также разнообразные доступные инструменты и библиотеки. Среди рассматриваемых в книге вопросов можно выделить анализ особенностей применения лицензий GNU, использование свободно распространяемых компиляторов и библиотек, системное программирование для Linux, а также написание и отладка собственных переносимых библиотек.


Руководство по переходу на Ubuntu 10.04 LTS «Lucid Lynx»

Данное руководство по Ubuntu для новичков написано для тех, кто хочет легко и без проблем сменить свою операционную систему на Ubuntu. Оно охватывает вопросы, связанные с установкой, настройкой и использованием Ubuntu.


Сетевые средства Linux

В этой книге описаны принципы действия и область применения многих серверов, выполняющихся в системе Linux. Здесь рассматриваются DHCP-сервер, серверы Samba и NFS, серверы печати, NTP-сервер, средства удаленной регистрации и система X Window. He забыты и средства, традиционно используемые для обеспечения работы Internet-служб: серверы DNS, SMTP, HTTP и FTP. Большое внимание уделено вопросам безопасности сети. В данной книге нашли отражения также средства удаленного администрирования — инструменты Linuxconf, Webmin и SWAT.Данная книга несомненно окажется полезной как начинающим, так и опытным системным администраторам.Отзывы о книге Сетевые средства LinuxПоявилась прекрасная книга по Linux, осталось воспользоваться ею.


Недокументированные и малоизвестные возможности Windows XP

Книга содержит подробные сведения о таких недокументированных или малоизвестных возможностях Windows XP, как принципы работы с программами rundll32.exe и regsvr32.exe, написание скриптов сервера сценариев Windows и создание INF-файлов. В ней приведено описание оснасток, изложены принципы работы с консолью управления mmc.exe и параметрами реестра, которые изменяются с ее помощью. Кроме того, рассмотрено большое количество средств, позволяющих выполнить тонкую настройку Windows XP.Эта книга предназначена для опытных пользователей и администраторов, которым интересно узнать о нестандартных возможностях Windows.


Iptables Tutorial 1.1.19

Iptables Tutorial 1.1.19Автор: (C) Oskar AndreassonCopyright (C) 2001-2002 by Oskar AndreassonПеревод: (C) Андрей КиселевПоследнюю версию документа можно получить по адресу: http://iptables-tutorial.frozentux.netfb2-документ отформатирован с использованием большого количества тегов и . Чтобы в «читалке» (в частности, Haali Reader) текст выглядел «красиво», настройте свойства соотвествующих стилей (emphasis и strong), изменив, например, их цвета или начертания. (прим. автора fb2-документа)