Книга: Windows Script Host для Windows 2000/XP
Выход из сценария с определенным кодом завершения
Разделы на этой странице:
Выход из сценария с определенным кодом завершения
Любое приложение при завершении своей работы может возвращать операционной системе целое число — код выхода (обычно ненулевое значение этого кода указывает на то, что выполнение программы прервалось в силу той или иной ошибки).
Замечание
Сама операционная система Windows не проверяет код завершения приложений.
В WSH код выхода из сценария задается с помощью параметра метода Quit
объекта WScript
. В листингах 2.23 и 2.24 приведены сценарии, в которых код завершения выбирается в зависимости от того, какая кнопка нажата в диалоговом окне (рис. 2.9): кнопке OK соответствует код 1, кнопке Отмена — код 0.
Рис. 2.9. Диалоговое окно, создаваемое в сценарии Quit.js
Листинг 2.23. Выход из сценария с заданным кодом завершения (JScript)
/*******************************************************************/
/* Имя: Quit.js */
/* Язык: JScript */
/* Описание: Выход из сценария с заданным кодом завершения */
/*******************************************************************/
var WshShell,Res,Text,Title; //Объявляем переменные
var vbOkCancel=1,vbOk=1; //Инициализируем константы для диалоговых окон
//Создаем объект WshShell
WshShell = WScript.CreateObject("WScript.Shell");
Text="Выберите кнопку для завершения сценария";
Title="Диалоговое окно";
//Выводим диалоговое окно на экран
Res=WshShell.Popup(Text,0,Title,vbOkCancel);
if (Res==vbOk) WScript.Quit(1);
else WScript.Quit(0);
/************* Конец *********************************************/
Листинr 2.24. Выход из сценария с заданным кодом завершения (VBScript)
'*******************************************************************
' Имя: Quit.vbs
' Язык: VBScript
' Описание: Выход из сценария с заданным кодом завершения
'*******************************************************************
Option Explicit
Dim WshShell,Res,Text,Title ' Объявляем переменные
' Создаем объект WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
Text="Выберите кнопку для завершения сценария"
Title="Диалоговое окно"
' Выводим диалоговое окно на экран
Res=WshShell.Popup(Text,0,Title,vbOkCancel)
If Res=1 Then
WScript.Quit 1
Else
WScript.Quit 0
End If
'************* Конец *********************************************
Если сценарий запускался с помощью командного файла, то код выхода можно проанализировать с помощью оператора IF ERRORLEVEL
.
Пример подобного ВАТ-файла приведен в листинге 2.25. Здесь сценарий Quit.js запускается с помощью команды START
с ключом /WAIT
, указывающим на то, что выполнение ВАТ-файла должно быть приостановлено до окончания работы Quit.js. После этого, если код завершения pавен 1 (в диалоговом окне сценария была нажата кнопка OK), происходит переход к метке :Ok
и выдача с помощью команды ECHO
соответствующего сообщения на экран.
Замечание
Для корректного отображения на экране символов кириллицы в BAT-файлах должна использоваться DOS-кодировка.
Если же код завершения сценария Quit.js был равен 0 (в диалоговом окне была нажата кнопка Отмена), то управление перейдет к строке
ECHO Для выхода из Quit.js была нажата кнопка Отмена
Листинг 2.25. Анализ кода выхода сценария Quit.js (Check.bat)
@ЕСНО OFF
REM **************************************************************
REM Имя: check.bat
REM Язык: BAT-файл
REM Кодировка: DOS
REM Описание: Определение кода завершения для сценария Quit.js
REM **************************************************************
@ЕСНO OFF
ECHO Запускаем сценарий Quit.js...
START /W Quit.js
REM Определяем код завершения для сценария Quit.js
IF ERRORLEVEL 1 GOTO :Ok
ECHO Для выхода из Quit.js была нажата кнопка Отмена
GOTO :end
:Ok
ECHO Для выхода из Quit.js была нажата кнопка Ok
:end
- Вывод на экран текстовых строк
- Ввод строк текста
- Получение свойств WSH и запущенного сценария
- Работа с параметрами командной строки сценария
- Выход из сценария с определенным кодом завершения
- Использование внешних объектов автоматизации (на Microsoft Word)
- Запуск из сценариев внешних программ
- Доступ к специальным папкам Windows ХР
- Создание ярлыков в специальных папках
- Работа с системным реестром Windows
- Работа с ресурсами локальной сети
- Запуск сценариев на удаленных машинах. Контроль за ходом выполнения таких сценариев
- Глава 2 Примеры использования стандартных объектов WSH (JScript и VBScript)
- 9.3.2. Выходные операнды
- Построение модели выходов (результатов)
- 7.2. Описание сценария rc.firewall
- Из меню Пуск пропала кнопка Выход из системы. Как ее вернуть?
- Речевые модули для завершения продажи
- Листинг 5.8. (dup2.c) Перенаправление выходного потока канала с помощью функции dup2()
- Используйте «инстинкт завершения»
- Создание сценария
- Входные и выходные данные
- Выход на сцену
- Работа с определенными кнопками