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));


Рекомендуем почитать
Это ваше Fido

Одно из немногих изданий на русском языке, которое посвящено старейшей глобальной компьютерной сети "Fidonet". Сатирический справочник о жизни и смерти самого древнего сетевого сообщества, которое до сих пор существует среди нас.


Безопасность информационных систем

В пособии излагаются основные тенденции развития организационного обеспечения безопасности информационных систем, а также подходы к анализу информационной инфраструктуры организационных систем и решению задач обеспечения безопасности компьютерных систем.Для студентов по направлению подготовки 230400 – Информационные системы и технологии (квалификация «бакалавр»).


UNIX — универсальная среда программирования

В книге американских авторов — разработчиков операционной системы UNIX — блестяще решена проблема автоматизации деятельности программиста, системной поддержки его творчества, выходящей за рамки языков программирования. Профессионалам открыт богатый "встроенный" арсенал системы UNIX. Многочисленными примерами иллюстрировано использование языка управления заданиями shell.Для программистов-пользователей операционной системы UNIX.


QNX/UNIX: Анатомия параллелизма

Книга адресована программистам, работающим в самых разнообразных ОС UNIX. Авторы предлагают шире взглянуть на возможности параллельной организации вычислительного процесса в традиционном программировании. Особый акцент делается на потоках (threads), а именно на тех возможностях и сложностях, которые были привнесены в технику параллельных вычислений этой относительно новой парадигмой программирования. На примерах реальных кодов показываются приемы и преимущества параллельной организации вычислительного процесса.


Виртуальные  машины: несколько компьютеров в  одном

Применение виртуальных машин дает различным категориям пользователей — от начинающих до IT-специалистов — множество преимуществ. Это и повышенная безопасность работы, и простота развертывания новых платформ, и снижение стоимости владения. И потому не случайно сегодня виртуальные машины переживают второе рождение.В книге рассмотрены три наиболее популярных на сегодняшний день инструмента, предназначенных для создания виртуальных машин и управления ими: Virtual PC 2004 компании Microsoft, VMware Workstation от компании VMware и относительно «свежий» продукт — Parallels Workstation, созданный в компании Parallels.


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

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