русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Диалог с пользователем


Дата добавления: 2013-12-23; просмотров: 1681; Нарушение авторских прав


Команда SHIFT

 

Предназначена для изменения соответствия параметров аргументам командного файла (сдвиг параметров относительно аргументов на одну позицию вправо).

Синтаксис:

SHIFT

 

Команда SHIFT полезна в тех случаях, когда в командном файле требуется обеспечить, по крайней мере, одну из следующих возможностей:

1) обработку неопределенного числа аргументов;

2) обработку более девяти аргументов;

3) однообразную циклическую обработку аргументов.

При каждом выполнении команды SHIFT i-й (i = 1,...,8) параметр командного файла принимает значение (i+l)-ro параметра. Значение параметра %0 теряется, а параметр %9 связывается с первым слева из еще свободных аргументов. Таким образом, по SHIFT осуществляется сдвиг параметров относительно аргументов в сторону увеличения на единицу номеров аргументов.

 

1. Командный файл Q1.BAT для демонстрации работы команды SHIFT:

 

@ECHO OFF

ECHO %0

:BEGIN

IF /%1==/ GOTO END

ECHO %1 %2 %3 %4 %5 %6 %7 %8 %9

SHIFT

GOTO BEGIN

:END

 

Пример использования

Q1.BAT A B C D E F G H I J K

Будет выдано

Q1.BAT выводится спецификация командного файла, взятая из командной

A B C D E F G H I строки по ECHO%0

B C D E F G H I J

C D E F G H I J K

D E F G H I J K

E F G H I J K

F G H I J K

G H I J K

H I J K

I J K

J K

K

 

2.Пример командного файла M.BAT, удаляющего заданные списки файлов:

 

@ECHO OFF

REM Файл M.BAT: удаляет списки файлов

REM Пример использования: M ТЕМР.ТХТ, *.ВАК, TEST.PAS

:LOOP

DEL %1

SHIFT

IF NOT .%1.==.. GOTO LOOP

 

 

Для диалога с пользователем можно использовать команду:
SET /P [имя переменной = [текст]]
при выполнении которой, на экран выдается текстовое сообщение <текст> и ожидается ввод ответного текста. Пример - выполним запрос пароля и присвоим его значение переменной pset:



cls

@set /p pset="Введите пароль - "

@echo Пароль - %pset%

Недостатком данного способа является невозможность продолжения выполнения командного файла при отсутствии ответа пользователя, поэтому очень часто вместо set используются сторонние программы. Одна из них - CHOICE.COM в ХP нет, но есть в Vista
CHOICE выдает пользователю текстовое сообщение и ожидает выбора одного из заданных вариантов ответа (нажатия клавиш на клавиатуре). По результатам выбора формируется переменная ERRORLEVEL, значение которой равно порядковому номеру выбора. По умолчанию вариантов выбора два - Y или N. Если ответ равен Y - то ERRORLEVEL=1, если N - то ERRORLEVEL=2. Можно использовать более 2-х вариантов выбора и есть возможность задать выбор по умолчанию, когда пользователь за определенное время не нажал ни одной клавиши. Формат командной строки:

CHOICE [/C[:]клавиши] [/N] [/S] [/T[:]c,nn] [text]
/C[:]клавиши - определяет допустимые варианты выбора. Если не задано, то по умолчанию YN. При выводе на экран клавиши будут разделяться запятыми, заключаться в квадратные скобки ([]) и сопровождаться вопросительным знаком. Двоеточие (:) не обязательно.
/N - не выдавать варианты выбора.
/S - строчные и заглавные буквы отличаются.
/T[:]c,nn - Выбор по умолчанию равен "c" через "nn" секунд

Если задан параметр /T[:]c,nn, то перед использованием заданной клавиши по умолчанию делается паузу в течении заданного числа секунд. В /T указываются следующие значения: c определяет символ, который спустя nn секунд будет задаваться по умолчанию (этот символ должен быть в наборе символов, заданном в параметре /C); nn - задает продолжительность паузы в секундах (допустимые значения лежат в диапазоне от 0 до 99 - если задается 0, то перед назначением по умолчанию будет пауза).
text - Строка текста, выводимая в качестве запроса(подсказки)

Создадим командный файл, демонстрирующий использование CHOICE. Он будет реагировать на нажатие клавиш "1","2",3" и "0" . При нажатии "0" выполняется завершение, а при нажатии остальных - сообщение пользователю. Если в течении 10 секунд ничего не нажато - завершение.
CLS
@ECHO OFF
:CHOICE
CHOICE /C:1230 /T:0,10 Ваш вариант
IF %ERRORLEVEL% EQU 4 GOTO EXIT
echo Ваш выбор=%ERRORLEVEL%
GOTO CHOICE
:EXIT

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

 



<== предыдущая лекция | следующая лекция ==>
Команда FOR | Примеры командных файлов


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.003 сек.