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

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

Самый простой вариант организовать диалог с пользователем состоит в использовании параметров командной строки. Напомним, что объектная модель 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 — обработку нового параметра командной строки.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Глава 26 Синтаксический анализ параметров командной строки

Из книги автора

Глава 26 Синтаксический анализ параметров командной строки Многие Linux-программы позволяют задавать параметры командной строки. Эти параметры выполняют самые разнообразные функции, однако имеют практически одинаковую синтаксическую структуру. Короткие параметры


Утилита командной строки REG.EXE

Из книги автора

Утилита командной строки REG.EXE Кроме редактора реестра, имеющего графический интерфейс, в составе Windows 7 имеется также утилита командной строки REG.EXE, предназначенная для опытных пользователей. С ее помощью можно создавать различные сценарии для выполнения различных


Ключи командной строки

Из книги автора

Ключи командной строки Большинству пользователей не нужно работать с интерфейсом командной строки, ключи предназначены для использования системными администраторами. С их помощью можно вручную установить или удалить Radmin, изменить номер порта, а также производить


Закачка с командной строки

Из книги автора

Закачка с командной строки Самым популярным инструментом для закачки файлов и целых сайтов является утилита GNU Wget, которая, как правило, устанавливается по умолчанию во многих дистрибутивах Linux. Эта утилита поддерживает все популярные протоколы HTTP/HTTPS и FTP, умеет работать


10.5. Параметры командной строки

Из книги автора

10.5. Параметры командной строки Unix-традиции поощряют использование ключей командной строки для управления программами, так чтобы параметры можно было задавать из сценариев. Это особенно важно для программ, которые выполняют функции фильтров или каналов. Существует 3


10.5.1. Параметры командной строки от -а до -z

Из книги автора

10.5.1. Параметры командной строки от -а до -z Со временем часто используемые параметры в широко известных Unix-программах создали неформальный стандарт семантики для ожидаемого значения различных флагов. Ниже приводится перечень параметров и их значений, которые будут


10.5. Параметры командной строки

Из книги автора

10.5. Параметры командной строки Unix-традиции поощряют использование ключей командной строки для управления программами, так чтобы параметры можно было задавать из сценариев. Это особенно важно для программ, которые выполняют функции фильтров или каналов. Существует 3


10.5.1. Параметры командной строки от -а до -z

Из книги автора

10.5.1. Параметры командной строки от -а до -z Со временем часто используемые параметры в широко известных Unix-программах создали неформальный стандарт семантики для ожидаемого значения различных флагов. Ниже приводится перечень параметров и их значений, которые будут


Компилятор командной строки для C# (csc.exe)

Из книги автора

Компилятор командной строки для C# (csc.exe) Для компиляции исходного кода C# есть целый ряд возможностей. Не касаясь Visual Studio 2005 (и различных IDE сторонних производителей), здесь можно отметить компилятор командной строки для C#, csc.exe (где csc означает аббревиатуру для C-Sharp Compiler -


Отладка с командной строки

Из книги автора

Отладка с командной строки Перед началом отладки приложения с помощью cordbg.exe следует сгенерировать отладочные символы для текущего приложения, указав для csc.exe флаг /debug. Например, чтобы сгенерировать данные отладки для приложения TestApp.exe, введите следующую команду.csc


7.8.1. Класс для обработки параметров командной строки

Из книги автора

7.8.1. Класс для обработки параметров командной строки Чтобы не перегружать функцию main() деталями, касающимися обработки параметров командной строки, лучше отделить этот фрагмент. Можно написать для этого функцию. Например:extern int parse_options( int arg_count, char *arg_vector );int main( int argc, char


Переключатели командной строки

Из книги автора

Переключатели командной строки Требуются только начальные символы переключателей. Вы также можете набрать любую часть текста в квадратных скобках, показанного в табл. 37.1, включая полное название режима. Например, задание -n, -no, -noauto имеет одинаковый эффект.Таблица 37.1.


3.1.6 Параметры командной строки

Из книги автора

3.1.6 Параметры командной строки После того, как программа была написана и оттестирована, я заметил, что часто набирать выражения на клавиатуре в стадартный ввод надоедает, поскольку обычно использование прораммы состоит в вычислении одного выражения. Если бы можно было