Windows Script Host для Windows 2000/XP - Андрей Попов
Шрифт:
Интервал:
Закладка:
Сформированные в сценарии строки текста можно выводить в стандартный выходной поток (в консольном режиме) или в графическое диалоговое окно несколькими способами:
□ с помощью метода Echo объекта WScript;
□ с помощью методов Write и WriteLine объекта WScript.StdOut;
□ с помощью функции MsgBox языка VBScript;
□ с помощью метода Popup объекта WshShell.
Метод Echo объекта WScript
Примеры использования метода WScript.Echo в сценариях, написанных на языках JScript и VBScript, представлены соответственно в листингах 2.1 и 2.2.
ЗамечаниеВДля корректного отображения СЃ помощью метода Echo символов кириллицы, эти символы должны быть представлены РІ Windows-РєРѕРґРёСЂРѕРІРєРµ (CP 1251).
Листинг 2.1. Вывод строк в Win-кодировке с помощью метода WScript.Echo (JScript)/*******************************************************************/
/* РРјСЏ: Echo1.jsВ В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В */
/* Язык: JScript                                                  */
/* Описание: Пример использования метода WScript.Echo             */
/*******************************************************************/
//Печатаем строку текста (кириллица)
WScript.Echo("Рспользование метода Echo (Win-РєРѕРґРёСЂРѕРІРєР°)");
//Печатаем строку текста и результат вычислений
WScript.Echo("Например, 1+2=",1+2);
/************* Конец *********************************************/
Листинг 2.2. Вывод строк в Win-кодировке с помощью метода WScript.Echo (VBScript)'*******************************************************************
' РРјСЏ: Echo1.vbs
' Язык: VBScript
' Описание: Пример использования метода WScript.Echo
'*******************************************************************
' Печатаем строку текста (кириллица)
WScript.Echo "Рспользование метода Echo (Win-РєРѕРґРёСЂРѕРІРєР°)"
' Печатаем строку текста и результат вычислений
WScript.Echo "Например, 1+2=",1+2
'************* Конец *********************************************
Если сценарий Echo1.js (Echo1.vbs) был запущен с помощью cscript.exe, то строки выводятся в командное окно (рис. 2.1).
Если же этот сценарий выполнялся с помощью wscript.exe, то строки по очереди выводятся в диалоговые окна с единственной кнопкой OK (рис. 2.2).
Часто бывает необходимо выводить РІ диалоговое РѕРєРЅРѕ РЅРµ РїРѕ РѕРґРЅРѕР№ строке текста, Р° сразу несколько таких строк (СЂРёСЃ. 2.3). Для этого нужно формировать строки, содержащие символы перевода строки: escape-последовательность "n" для JScript Рё предопределенная именованная константа vbCrLf для VBScript (соответствующие примеры сценариев приведены РІ листингах 2.3 Рё 2.4).В В
Рис. 2.1. Результат выполнения Echo1.js с помощью cscript.exe
Рис. 2.2. Результат выполнения Echo1.js с помощью wscript.exe
Рис. 2.3. Диалоговое окно с несколькими строками текста
Листинг 2.3. Вывод в диалоговое окно нескольких строк (JScript)/*******************************************************************/
/* РРјСЏ: Echo2.jsВ В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В */
/* Язык: JScript                                                  */
/* Описание: Вывод сразу нескольких строк (WScript.Echo)          */
/*******************************************************************/
var s; //Объявляем переменную
s="Примерnвыводаnнесколькихnстрок"; //Формируем строки
WScript.Echo(s); //Печатаем строки
/************* Конец *********************************************/
Листинг 2.4. Вывод в диалоговое окно нескольких строк (VBScript)'*******************************************************************
' РРјСЏ: Echo2.vbs
' Язык: VBScript
' Описание: Вывод сразу нескольких строк (WScript.Echo)
'*******************************************************************
Option Explicit
Dim s ' Объявляем переменную
' Формируем строки
s="Пример"&vbCrLf&"вывода"&vbCrLf&"нескольких"&vbCrLf&"строк"
WScript.Echo s ' Печатаем строки
'************* Конец *********************************************В
Методы Write и WriteLine объекта WScript.StdOut
Для вывода строк в сценариях, выполняющихся в консольном режиме, можно использовать стандартный выходной поток WScript.StdOut (листинги 2.5 и 2.6). Напомним, что запускать сценарий, обращающийся к потоку StdOut, можно только в консольном режиме с помощью cscript.exe. Если же попробовать выполнить, например, сценарий StdOut1.js с помощью wscript.exe, то произойдет ошибка (рис. 2.4).
Рис. 2.4. Ошибка, возникающая при обращении к StdOut в графическом режиме
Листинг 2.5. Вывод строк в стандартный выходной поток (JScript)/*******************************************************************/
/* РРјСЏ: StdOut1.jsВ В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В */
/* Язык: JScript                                                  */
/* Описание: Пример использования методов StdOut.Write и          */
/*В В В В В В В В В В StdOut.WriteLineВ В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В */
/*******************************************************************/
var n; //Объявляем переменную
n=1+2;
//Печать без перевода строки
WScript.StdOut.Write("Рспользование метода ");
//Выводим строку с текущей позиции курсора
WScript.StdOut.WriteLine("StdOut.WriteLine");
//Печатаем строку и значение переменной
WScript.StdOut.WriteLine("Например, 1+2="+n);
/************* Конец *********************************************/
Листинг 2.6. Вывод строк в стандартный выходной поток (VBScript)'*******************************************************************