Рис. 2.8. Результат работы сценария Args.js

Листинг 2.21. Доступ к параметрам командной строки запущенного сценария (JScript)

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

/* Имя: Args.js                                                     */

/* Язык: JScript                                                    */

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

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

var

 i,objArgs,s,objNamedArgs,objUnnamedArgs;  //Объявляем переменные

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

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

s='Всего аргументов: '+objArgs.Count()+' ';

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

 s+=objArgs(i)+' '; //Формируем строки со значениями аргументов

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

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

s+=' Безымянных аргументов: '+objUnnamedArgs.length+' ';

for (i=0; i<=objUnnamedArgs.length-1; i++)

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

 s+=objUnnamedArgs(i)+' ';

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

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

s+=' Именных аргументов: '+objNamedArgs.length+' ';

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

if (objNamedArgs.Exists('Имя')) s+=objNamedArgs('Имя')+' ';

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

if (objNamedArgs.Exists('Comp')) s+=objNamedArgs('Comp')+' ';

WScript.Echo(s);  //Выводим сформированные строки

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

Листинг 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='Диалоговое окно';

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату