Вход/Регистрация
Windows Script Host для Windows 2000/XP
вернуться

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

Шрифт:

Обработка параметров командной строки

Самый простой вариант организовать диалог с пользователем состоит в использовании параметров командной строки. Напомним, что объектная модель WSH предоставляет несколько методов, которые позволяют производить анализ именных и безымянных параметров (см. разд. "Работа с параметрами командной строки сценария" главы 2), с которыми был запущен сценарий, а в схеме WS XML есть несколько специальных элементов (

<runtime>
, <
named>
,
<unnamed>
,
<description>
и
<example>
), предназначенных для быстрого создания встроенной справки, описывающей синтаксис сценария и смысл каждого из параметров.

Для нашего примера мы создадим сценарий ArgMenu.wsf, в котором будем анализировать аргументы командной строки и в зависимости от них запускать то или иное задание из файла PhoneBook.wsf. Названия и назначения именных параметров, которые мы будем использовать, приведены в табл. 7.1.

Таблица 7.1. Параметры командной строки сценария для работы с записной книжкой

Название параметра Назначение
/L
Просмотр всех записей книжки (сортировка по фамилии)
/F
Поиск записей по фамилии, которая вводится в диалоговом окне
/А
Добавление записи по фамилии (данные вводятся в диалоговом окне)
/D
Удаление записи (фамилия для удаления вводится в диалоговом окне)

Если запустить сценарий ArgMenu.wsf вообще без параметров, либо с параметрами, не указанными в табл. 7.1, то на экран будет выведена встроенная справка (рис. 7.1).

Рис. 7.1. Встроенная справка для сценария ArgMenu.wsf

В листинге 7.4 приводится полный текст сценария ArgMenu.wsf.

Листинг 7.4. Обработка параметров командной строки сценария для работы с записной книжкой

<job id="ArgMenu">

 <runtime>

<description>

Сценарий для работы с телефонной книжкой

</description>

<named name="L" helpstring="Просмотр содержимого книжки" type="simple" required="false"/>

<named name="F" helpstring="Поиск по фамилии" type="simple" required="false"/>

<named name="A" helpstring="Добавление записи" type="simple" required="false"/>

<named name="D" helpstring="Удаление записи" type="simple" required="false"/>

 </runtime>

 <script language="JScript">

var WshShell;

WshShell=WScript.CreateObject("WScript.Shell");

if ((WScript.Arguments.Named.Exists("L")) ||

(WScript.Arguments.Named.Exists("l"))) {

WshShell.Run("wscript PhoneBook.wsf //Job:SortName");

WScript.Quit;

}

if ((WScript.Arguments.Named.Exists("F")) ||

(WScript.Arguments.Named.Exists("f"))) {

WshShell.Run("wscript PhoneBook.wsf //Job:FindName");

WScript.Quit;

}

if ((WScript.Arguments.Named.Exists("A")) ||

(WScript.Arguments.Named.Exists("a"))) {

WshShell.Run("wscript PhoneBook.wsf //Job:AddRec");

WScript.Quit;

}

if ((WScript.Arguments.Named.Exists("D")) ||

(WScript.Arguments.Named.Exists("d"))) {

WshShell.Run("wscript PhoneBook.wsf //Job:DelRec");

WScript.Quit;

}

//Ни один из нужных аргументов не был указан, выводим

//описание параметров

WScript.Arguments.ShowUsage;

 </script>

</job>

Теперь, если понадобится ввести дополнительную функцию при работе с записной книжкой (например, поиск по номеру телефона), нужно будет в файл PhoneBook.wsf добавить задание с новым идентификатором, а в файл ArgMenu.wsf — обработку нового параметра командной строки.

Организация диалога с помощью кнопочного меню

Вторым вариантом организации диалога, который мы рассмотрим, является кнопочное (командное) меню. Принцип его работы в нашем примере остается практически тем же, что и при описанной выше обработке аргументов командной строки — пользователь должен в диалоговом окне ввести символ, соответствующий одной из описанных в этом окне команд (рис. 7.2). Этот символ анализируется в сценарии, и в зависимости от его значения вызывается то или иное задание из файла PhoneBook.wsf.

  • Читать дальше
  • 1
  • ...
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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