KnigaRead.com/

Андрей Попов - Windows Script Host для Windows 2000/XP

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Андрей Попов, "Windows Script Host для Windows 2000/XP" бесплатно, без регистрации.
Перейти на страницу:

Объект WScript

Свойства объекта WScript позволяют получить полный путь к использующемуся серверу сценариев (wscript.exe или cscript.exe), параметры командной строки, с которыми запущен сценарий, режим его работы (интерактивный или пакетный). Кроме этого, с помощью свойств объекта WScript можно выводить информацию в стандартный выходной поток и читать данные из стандартного входного потока. Также WScript предоставляет методы для работы внутри сценария с объектами автоматизации и вывода информации на экран (в текстовом режиме) или в окно Windows.

Отметим, что в сценарии WSH объект WScript можно использовать сразу, без какого-либо предварительного описания или создания, т. к. его экземпляр создается сервером сценариев автоматически. Для использования же всех остальных объектов нужно применять либо метод CreateObject, либо определенное свойство другого объекта.

Свойства объекта WScript представлены в табл. 1.2.


Таблица 1.2. Свойства объекта WScript

Свойство Описание Application Предоставляет интерфейс IDispatch для объекта WScript Arguments Содержит указатель на коллекцию WshArguments, в которой находятся параметры командной строки для исполняемого сценария FullName Содержит полный путь к исполняемому файлу сервера сценариев (в Windows ХР обычно это C:WINDOWSSYSTEM32CSCRIPT.EXE или C:WINDOWSSYSTEM32WSCRIPT.EXE) Name Содержит название объекта Wscript (Windows Script Host) Path Содержит путь к каталогу, в котором находится cscript.exe или wscript.exe (в Windows ХР обычно это C:WINDOWSSYSTEM32) ScriptFullName Содержит полный путь к запущенному сценарию ScriptName Содержит имя запущенного сценария StdErr Позволяет запущенному сценарию записывать сообщения в стандартный поток для ошибок StdIn Позволяет запущенному сценарию читать информацию из стандартного входного потока StdOut Позволяет запущенному сценарию записывать информацию в стандартный выходной поток Version Содержит версию WSH

Опишем более подробно те свойства объекта WScript, которые требуют дополнительных пояснений.

Свойство Arguments

В следующем примере (листинг 1.1) с помощью цикла for на экран выводятся все параметры командной строки, с которыми был запущен сценарий.

Листинг 1.1. Вывод на экран всех параметров сценария

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

/* РРјСЏ: ShowArgs.jsВ В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В  */

/* Язык: JScript                                                   */

/* Описание: Вывод на экран параметров запущенного сценария        */

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

var i, objArgs;

objArgs = WScript.Arguments; //Создаем объект WshArguments

for (i=0; i<=objArgs.Count()-1; i++)

 WScript.Echo(objArgs(i)); //Выводим на экран i-й аргумент

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

Другие примеры работы с аргументами командной строки приведены в листингах 1.4, 1.5, 2.22 и 2.23.

Свойства StdErr, StdIn, StdOut

Доступ к стандартным входным и выходным потокам с помощью свойств StdIn, StdOut и StdErr можно получить только в том случае, если сценарий запускался в консольном режиме с помощью cscript.exe. Если сценарий был запущен с помощью wscript.exe, то при попытке обратиться к этим свойствам возникнет ошибка "Invalid Handle" (рис. 1.9).

Рис. 1.9. Ошибка при обращении к StdIn в графическом режиме


Работать с потоками StdOut и StdErr можно с помощью методов Write, WriteLine, WriteBlankLines, а с потоком StdIn — с помощью методов Read, ReadLine, ReadAll, Skip, SkipLine. Эти методы кратко описаны в табл. 1.3.


Таблица 1.3. Методы для работы с потоками

Метод Описание Read(n) Считывает из потока StdIn заданное параметром n число символов и возвращает полученную строку ReadAll() Читает символы из потока StdIn до тех пор, пока не встретится символ конца файла ASCII 26 (<Ctrl>+<Z>), и возвращает полученную строку 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:

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*