<runtime>
, <description>
, <example>
, <named>
и <unnamed>
.
Объект
Объект WshNamed
содержит коллекцию параметров командной строки запущенного сценария, у которых имеется уникальное имя
/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, приведены также в
Объект
В коллекции 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
, приведены также в
Объект
Объект WshEnvironment
позволяет получить доступ к коллекции, содержащей переменные среды заданного типа (переменные среды операционной системы, переменные среды пользователя или переменные среды текущего командного окна). Этот объект можно создать с помощью свойства Environment
объекта WshShell
или одноименного его метода:
var WshShell=WScript.Createobject('WScript.Shell'),
WshSysEnv=WshShell.Environment,
WshUserEnv=WshShell.Environment('User');
Объект WshEnvironment
имеет свойство Length
, в котором хранится число элементов в коллекции (количество переменных среды), и методы Count
и Item
. Для того чтобы получить значение определенной переменной среды, в качестве аргумента метода Item
указывается имя этой переменной в двойных кавычках. В следующем примере мы выводим на экран значение переменной среды PATH
: