Попов Андрей Викторович
Шрифт:
Например, после выполнения сценария EchoExample.js (листинг 1.3) с помощью cscript.exe на экран будут выведены пустая строка, три числа и строка текста (рис. 1.10).
Листинг 1.3. Сценарий EchoExample.js
/*******************************************************************/
/* Имя: EchoExample.js */
/* Язык: JScript */
/* Описание: Использование метода WScript.Echo */
/*******************************************************************/
WScript.Echo; //Выводим пустую строку
WScript.Echo(1,2,3); //Выводим числа
WScript.Echo("Привет!"); //Выводим строку
/************* Конец *********************************************/
Рис. 1.10. Вывод информации с помощью метода Echo
Другие примеры использования метода
Echo
приведены в главе 2 (см. листинги 2.1, 2.2, 2.4 и 2.5). Метод Sleep
В следующем примере сценарий переводится в неактивное состояние на 5 секунд:
WScript.Echo("Сценарий запущен, отдыхаем...");
WScript.Sleep(5000);
WScript.Echo("Выполнение завершено");
Метод
Sleep
необходимо применять при асинхронной работе сценария и какой-либо другой задачи, например, при имитации нажатий клавиш в активном окне с помощью метода WshShell.SendKeys
(см. листинги 1.13, 2.31, 2.32). Объекты-коллекции
В WSH входят объекты, с помощью которых можно получить доступ к коллекциям, содержащим следующие элементы:
параметры командной строки запущенного сценария или ярлыка Windows (объекты
WshArguments
, WshNamed
и WshUnnamed
); значения переменных среды (объект
WshEnvironment
); пути к специальным папкам Windows (объект
WshSpecialFolders
). Объект WshArguments
Объект
WshArguments
содержит коллекцию всех параметров командной строки запущенного сценария или ярлыка Windows. Этот объект можно создать только с помощью свойства Arguments
объектов WScript
и WshShortcut
. В принципе, работать с элементами коллекции
WshArguments
можно стандартным для JScript образом — создать объект Enumerator
и использовать его методы moveNext
, item
и atEnd
. Например, вывести на экран все параметры командной строки, с которыми запущен сценарий, можно следующим образом (листинг 1.4). Листинг 1.4. Вывод всех параметров сценария (стандартные коллекции JScript)
/********************************************************************/
/* Имя: EnumArgs.js */
/* Язык: JScript */
/* Описание: Вывод на экран параметров запущенного сценария */
/********************************************************************/
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
, можно просто указать его индекс в круглых скобках после имени объекта.