Чтение онлайн

на главную - закладки

Жанры

Windows Script Host для Windows 2000/XP

Попов Андрей Викторович

Шрифт:
Листинг 2.22. Доступ к параметрам командной строки запущенного сценария (VBScript)

'********************************************************************

' Имя: Args.vbs

' Язык: VBScript

' Описание: Работа с аргументами запущенного сценария

'********************************************************************

Option Explicit

Dim i,Arg,objArgs,s,objNamedArgs,objUnnamedArgs '
Объявляем переменные

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

' Определяем общее количество аргументов

s="Всего аргументов: " & objArgs.Count & vbCrLf

For Each Arg In objArgs

 s=s & Arg & vbCrLf ' Формируем строки со значениями аргументов

Next

Set objUnnamedArgs=objArgs.Unnamed ' Создаем объект WshUnnamed

' Определяем количество безымянных аргументов

s=s & vbCrLf & "Безымянных аргументов: " & objUnnamedArgs.length & vbCrLf

For Each Arg In objUnnamedArgs

 ' Формируем строки со значениями безымянных аргументов

 s=s & Arg & vbCrLf

Next

Set objNamedArgs=objArgs.Named ' Создаем объект WshNamed

' Определяем количество именных аргументов

s=s & vbCrLf & "Именных аргументов: " & objNamedArgs.Length & vbCrLf

' Проверяем, существует ли аргумент /Имя:

If objNamedArgs.Exists("Имя") Then

 s=s & objNamedArgs("Имя") & vbCrLf

End If

' Проверяем, существует ли аргумент /Comp:

If objNamedArgs.Exists("Comp") Then

 s=s & objNamedArgs("Comp") & vbCrLf

End If

WScript.Echo s ' Выводим сформированные строки

'************* Конец *********************************************

Выход из сценария с определенным кодом завершения

Любое приложение при завершении своей работы может возвращать операционной системе целое число — код выхода (обычно ненулевое значение этого кода указывает на то, что выполнение программы прервалось в силу той или иной ошибки).

Замечание

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

Поделиться:
Популярные книги

Цикл "Отмороженный". Компиляция. Книги 1-14

Гарцевич Евгений Александрович
Отмороженный
Фантастика:
боевая фантастика
рпг
постапокалипсис
5.00
рейтинг книги
Цикл Отмороженный. Компиляция. Книги 1-14

Наследие Маозари 7

Панежин Евгений
7. Наследие Маозари
Фантастика:
боевая фантастика
юмористическое фэнтези
постапокалипсис
рпг
фэнтези
эпическая фантастика
5.00
рейтинг книги
Наследие Маозари 7

Идеальный мир для Лекаря 12

Сапфир Олег
12. Лекарь
Фантастика:
боевая фантастика
юмористическая фантастика
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 12

Император Пограничья 8

Астахов Евгений Евгеньевич
8. Император Пограничья
Фантастика:
городское фэнтези
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Император Пограничья 8

Кодекс Охотника. Книга XXVI

Винокуров Юрий
26. Кодекс Охотника
Фантастика:
попаданцы
5.00
рейтинг книги
Кодекс Охотника. Книга XXVI

На границе империй. Том 10. Часть 10

INDIGO
Вселенная EVE Online
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 10. Часть 10

Кодекс Охотника. Книга ХХХ

Винокуров Юрий
30. Кодекс Охотника
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Кодекс Охотника. Книга ХХХ

Газлайтер. Том 23

Володин Григорий Григорьевич
23. История Телепата
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Газлайтер. Том 23

Купеческая дочь замуж не желает

Шах Ольга
Фантастика:
фэнтези
6.89
рейтинг книги
Купеческая дочь замуж не желает

Гром над Академией. Часть 1

Машуков Тимур
2. Гром над миром
Фантастика:
фэнтези
боевая фантастика
5.25
рейтинг книги
Гром над Академией. Часть 1

Чужак

Листратов Валерий
1. Ушедший Род
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Чужак

Санек 3

Седой Василий
3. Санек
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Санек 3

Кадет Морозов

Шелег Дмитрий Витальевич
4. Живой лёд
Фантастика:
боевая фантастика
5.72
рейтинг книги
Кадет Морозов

Имя нам Легион. Том 9

Дорничев Дмитрий
9. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 9