Войти

Показать полную графическую версию : [решено] Обработка "Pause" при нажатии клавиш навигации.


Lucretius
08-07-2013, 14:45
Как известно, при обработке команды "Pause" командный процессор выводит сообщение: «Для продолжения нажмите любую клавишу . . .» Но, если при наличии в коде нескольких последовательных команд "Pause" напр.:
Echo 1
Pause
Echo 2
Pause
Echo 3
Rem и т.д.нажать одну из клавиш навигации(стрелку) произойдёт обработка сразу двух команд "Pause" , равносильно двойному нажатию клавиши "Enter".
Подскажите, каким образом можно обойти этот баг, т.е. как сделать, чтобы нажатие клавиш навигации обрабатывало одну "Pause"? Может существуют альтернативные решения для реализации паузы в bat-скриптах?

Iska
08-07-2013, 19:04
Arrow keys trigger "pause" twice in Windows batch files - Stack Overflow (http://stackoverflow.com/questions/6958272/arrow-keys-trigger-pause-twice-in-windows-batch-files)

DosTips.com - View topic - Changing the PAUSE prompt (http://www.dostips.com/forum/viewtopic.php?f=3&t=2726)

Lucretius
08-07-2013, 19:59
Iska, Это вариант, спасибо, но если убрать ">nul" после "Pause" получаем сообщение об ошибке: "Попытка записи в несуществующий канал." ..?

Iska
08-07-2013, 21:21
но если убрать ">nul" »
Lucretius, а зачем убирать?

Lucretius
08-07-2013, 21:34
Тогда мой вариант будет проще:
Echo 1
>nul Pause| Pause
Echo 2
>nul Pause| Pause
Echo 3
>nul Pause| Pause




© OSzone.net 2001-2012