Читать онлайн книгу «Windows Script Host для Windows 2000/XP».
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
содержатся параметры командной строки запущенного сценария, у которых нет имени
(безымянные параметры). Создается этот объект с помощью свойства
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));
WScript.Echo("Имя компьютера: "+objUnnamedArgs(1));
на экран выведутся следующие строки:
Имя пользователя: Andrey Popov
Имя компьютера: Server1
Примеры, иллюстрирующие использование объекта
WshUnnamed
, приведены также в
главе 2 (см. листинги 2.22 и 2.23).
Объект
WshEnvironment
позволяет получить доступ к коллекции, содержащей переменные среды заданного типа (переменные среды операционной системы, переменные среды пользователя или переменные среды текущего командного окна). Этот объект можно создать с помощью свойства
Environment
объекта
WshShell
или одноименного его метода:
var WshShell=WScript.Createobject("WScript.Shell"),
WshSysEnv=WshShell.Environment,
WshUserEnv=WshShell.Environment("User");
Объект
WshEnvironment
имеет свойство
Length
, в котором хранится число элементов в коллекции (количество переменных среды), и методы
Count
и
Item
. Для того чтобы получить значение определенной переменной среды, в качестве аргумента метода
Item
указывается имя этой переменной в двойных кавычках. В следующем примере мы выводим на экран значение переменной среды
PATH
:
var WshShell=WScript.CreateObject("WScript.Shell"), WshSysEnv=WshShell.Environment;
WScript.Echo("Системный путь:", WshSysEnv.Item("PATH"));
Можно также просто указать имя переменной в круглых скобках после имени объекта:
WScript.Echo("Системный путь:",WshSysEnv("PATH");
Кроме этого, у объекта WshEnvironment имеется метод Remove(strName), который удаляет заданную переменную среды. Например, в листинге 1.6 приведен сценарий, который удаляет две переменные (
EXAMPLE_1
и
EXAMPLE_2
) из окружения среды пользователя.