Windows Script Host для Windows 2000/XP - [7]

Шрифт
Интервал

>ReadAll()Читает символы из потока >StdIn до тех пор, пока не встретится символ конца файла ASCII 26 (+), и возвращает полученную строку
>ReadLine()Возвращает строку, считанную из потока >StdIn
>Skip(n)Пропускает при чтении из потока >StdIn заданное параметром n число символов
>SkipLine()Пропускает целую строку при чтении из потока >StdIn
>Write(string)Записывает в поток >StdOut или >StdErr строку >string (без символа конца строки)
>WriteBlankLines(n)Записывает в поток >StdOut или >StdErr заданное параметром n число пустых строк
>WriteLine(string)Записывает в поток >StdOut или >StdErr строку >string (вместе с символом конца строки)

Напомним, что операционная система 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.

Метод CreateObject

Строковый параметр >strProgID, указываемый в методе >CreateObject, называется программным идентификатором объекта (Programmic Identifier, ProgID).

Если указан необязательный параметр >strPrefix, то после создания объекта в сценарии можно обрабатывать события, возникающие в этом объекте (естественно, если объект предоставляет интерфейсы для связи с этими событиями). Когда объект сообщает о возникновении определенного события, сервер сценариев вызывает функцию, имя которой состоит из префикса >strPrefix и имени этого события. Например, если в качестве >strPrefix указано ">MYOBJ_", а объект сообщает о возникновении события ">OnBegin", то будет запущена функция ">MYOBJ_OnBegin", которая должна быть описана в сценарии.

В следующем примере метод >CreateObject используется для создания объекта >WshNetwork:

>var WshNetwork = WScript.Createobject("WScript.Network");

Отметим, что объекты автоматизации из сценариев можно создавать и без помощи WSH. В JScript для этого используется объект >ActiveXObject, например:

>var WshNetwork = new ActiveXObject("WScript.Network");

В VBscript для создания объектов может использоваться специальная функция >CreateObject, например:

>Set WshNetwork = CreateObject("WScript.Network")

Однако организовать в сценарии обработку событий создаваемого объекта можно только при использовании метода >WScript.CreateObject.

Метод ConnectObject

Объект, соединение с которым осуществляется с помощью метода >ConnectObject, должен предоставлять интерфейс к своим событиям.

В следующем примере в переменной >MyObject создается абстрактный объект ">SomeObject", затем из сценария вызывается метод >SomeMetod этого объекта. После этого устанавливается связь с переменной


Рекомендуем почитать
Это ваше 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.