Читать «Windows Script Host для Windows 2000/XP» онлайн - страница 12

Андрей Владимирович Попов

Напомним, что операционная система Windows поддерживает механизм конвейеризации (символ "|" в командной строке). Этот механизм делает возможным передачу данных от одной программы к другой. Таким образом, используя стандартные входные и выходные потоки, можно из сценария обрабатывать строки вывода другого приложения или перенаправлять выводимые сценарием данные на вход программ-фильтров (FIND или SORT). Например, следующая команда будет сортировать строки вывода сценария example.js и выводить их в файл sort.txt:

cscript //Nologo example.js | sort > sort.txt

Опция //Nologo здесь нужна для того, чтобы в файл sort.txt не попадали строки с информацией о разработчике и номере версии WSH.

Кроме этого, с помощью методов, работающих с входным потоком StdIn, можно организовывать диалог с пользователем, т. е. создавать интерактивные сценарии. Пример такого сценария представлен в листинге 1.2.

Листинг 1.2. Пример интерактивного сценария

/*******************************************************************/

/* Имя: Interact.js                                                */

/* Язык: JScript                                                   */

/* Описание: Ввод/вывод строк в консольном режиме                  */

/*******************************************************************/

var s;

//Выводим строку на экран

WScript.StdOut.Write("Введите число: ");

//Считываем строку

s = WScript.StdIn.ReadLine();

//Выводим строку на экран

WScript.StdOut.WriteLine("Вы ввели число " + s);

/*************  Конец *********************************************/

Объект WScript имеет несколько методов, которые описаны в табл. 1.4.

Таблица 1.4. Методы объекта WScript

Метод Описание
CreateObject(strProgID [, strPrefix]) Создает объект, заданный параметром strProgID
ConnectObject(strObject, strPrefix) Устанавливает соединение с объектом strObject, позволяющее писать функции-обработчики его событий (имена этих функций должны начинаться с префикса strPrefix)
DisconnectObject(obj) Отсоединяет объект obj, связь с которым была предварительно установлена в сценарии
Echo([Arg1] [, Arg2] [,…]) Выводит текстовую информацию на консоль или в диалоговое окно
GetObject(strPathname [, strProgID], [strPrefix]) Активизирует объект автоматизации, определяемый заданным файлом (параметр strPathName), или объект, заданный параметром strProgID
Quit([intErrorCode]) Прерывает выполнение сценария с заданным параметром intErrorCode кодом выхода. Если параметр intErrorCode не задан, то объект WScript установит код выхода равным нулю
Sleep(intTime) Приостанавливает выполнения сценария (переводит его в неактивное состояние) на заданное параметром intTime число миллисекунд

Приведем дополнительные пояснения и примеры использования для методов, приведенных в табл. 1.4.