Менюшка в bat файлах. Описание.


Что такое batch-файлы и большинство команд я разобрал в предыдущей статье. Ну а теперь кое что посложнее. Будем создавать меню с помощью всё тех же досовскоих команд.
Для этого нам понадобится конструкция choice. Чтоб было понятней разберём пример:
echo S - Start program.
echo H - Help.
echo E - Exit program
choice /c:SHE Push one of this keys
if errorlevel 3 goto exit
if errorlevel 2 goto help
if errorlevel 1 goto start
После запуска этого скрипта перед тобой появятся первые три строчки, а под ними предложение нажать на одну из предложенных клавишь (S,H и E). После нажатия на одну из них, переменной errorlevel присвоится номер выбранной клавиши. Как узнать номер? Посмотри сюда:
choice /c:SHE
Здесь SHE это три клавиши на которые можно нажать. S по счёту 1ая, H 2ая, E соответственно 3я. Вот по такому порядку им присваивается номер. Теерь вернёмся к нашему скрипту. При нажатии на кнопку H, к примеру, переменная errorlevel примет значение 2 (так как H 2ая по порядку), далее с помощью условного оператора (if) скрипт проверяет содержание этой переменной. В нашем случае errorlevel = 2. Поэтому скрипт выполнит последующую команду goto help (перескочит на метку help).
Чёнить понял? Хммм..хренова. Введи с командной строки choice /?. И мож чё поймёшь =).
Основная часть кончилась, так что если всё понял, можешь читать дальше.
Если тебе не нужна менюшка, а просто выбор yes\no, используй choice без параметра /c. В этом случае при нажатии на Y переменной errorlevel присвоится значение 1, а при нажатии на N соответственно 2.
Если тебе нужно, чтоб выбор клавишь не отображался, используй флаг /n.
/T:%ответ%,%время_в_сек% - если по истечению указанного времени юзер не нажал одну из требуемых клавиш, скрипт сам выберет ту, которая прописана на месте слова "%ответ%".