Перевірка умов в командному файлі. Створення діалогових командних файлів

 

Іноді в командному файлі потрібно виконати різні дії на вибір користувача. Це можна зробити за допомогою функції ASK програми BE з комплексу Norton Utilities чи програми CHOICE з MS DOS версії 6. Формат виклику BE ASK наступний;

BE ASK "повідомлення", списків-символів Формат виклику програми CHOICE:

CHOICE /З:списків-символів повідомлення

(тут повідомлення можна не брати в лапки, якщо в ньому немає символів у/»). Обидві програми виводять зазначене повідомлення і чекають, поки користувач не введе один із зазначених у списку символів. Значення перемінної ERRORLEVEL (див. вище) установлюється рівним номеру введеного символу в списку.

Приклади:

BE ASK "Запустити програму ALFA [Y/N]?", YN CHOICE /C:YN "Запустити програму ALFA?" В обох випадках при відповіді ® значення перемінної ERRORLEVEL установлюється рівним 2, при відповіді (Т) — рівним 1.

Покажемо, як може використовуватися значення цієї перемінної. У приведеному нижче прикладі програма ALFA запускається, якщо користувач на відповідний запит відповість 0:

АЕК "Запустити програму ALFA [Y/N]?", YN

If ERRORLEVEL 2 goto continue ALFA Гва.continue

За допомогою програми BE можна здійснити вибір з меню. Наприклад, що випливає командний файл задає вибір однієї з трьох ігор: DIGGER, TETRIS і CAT.

echo off

echo Виберіть бажану гру: D - DIGGER, Т - TETRIS, C - CAT

choice /C:DTC "Уведіть D, T або С. "

if ERRORLEVEL 3 goto CAT

if ERRORLEVEL 2 goto TETRIS

DIGGER

GOTO EXIT

:TETRIS

TETRIS

GOTO EXIT

:CAT

CAT

:EXIT

Варто помітити, що перевірки значення перемінної ERRORLEVEL варто розташовувати з порядку убування значень: спочатку перевіряти на найбільше значення, потім — на наступне по убуванню і т.д.

Зауваження. Як у програмі BE, так і в програмі CHOICE Ви можете вказати максимальний час чекання натискання клавіші і відповідь, прийнята «за замовчуванням» (якщо користувач протягом зазначеного часу не натискає на клавішу). Для програми CHOICE це задається параметром /J-.символ,чисел-секунд (параметр треба вказати в командному рядку до повідомлення). Для BE ASK — параметрами /TIM EOUT= чисел-секунд. /ОЕРШи-символ. Наприклад, параметри /T:Y,2 (для CHOICE) чи /TIMEOUTS, /DEFAJLT=Y (для BE ASK) указують, що якщо користувач протягом 2 секунд не відповість на запит, буде прийнята відповідь Y. Використання даних параметрів зручно у файлі AUTOEXEC.BAT, щоб не змушувати користувача втручатися при звичайному варіанті початкового завантаження DOS.

 



Список використаної літератури

 

1. "Практичний курс інформатики". Руденко В.Д., Макарчик О.М., Пагланжоглу М.О. Київ: Фенікс, 1997.

2. "Персональний компьютер. Учебный курс". Степаненко О.С. Москва: Издательский дом "Вильямс", 1999.

3. Конспект лекцій.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: