Monday, March 7, 2016

Предотвращение закрытия окна коммандной строки после выполнения bat файла

Время от времени тебе хочется автоматизировать какой-либо процесс, который повторяется изо дня в день. Это может быть запуск локального веб сервера, redis сервера или ещё что-то.
Один из вариантов, чтобы не вбивать полный путь к программе, которую нужно запустить это в проводнике найти эту папку, затем нажать правой кнопкой мыши и выбрать пункт "Open command window here". Затем нужно достать из закромов длинную-длинную команду с путём к конфиг файлу и остальными параметрами, вставить в консоль и запустить... В общем долго и много телодвижений.
Второй вариант это написать эти все действия в bat файл. Это вариант уже лучше... Стандартное поведение такое: вы запускаете bat файл, он отрабатывает и сразу закрывает себя. Т.е. если нужно прочитать что наш скрипт там наделал или (не дай Бог!) ошибки, окно просто закроется. Что делать?
Довольно часто при запуске в коммандной строке можно увидеть надпить Press Any Key to Continue... Логично делать такую штуку в самом конце, когда нужно просмотреть лог скрипта, чтобы убедиться, что сервер стартанул например и можно работать. Делается это при помощи команды PAUSE. Например:
echo 'Doing some important stuff...'
PAUSE

Другой вариант: у командной строки есть ключ /K. Он позволяет запустить батник, и после этого просто не закрывать окно коммандной строки. Например,
cmd /K test.bat

Для удобства можно сделать ярлык, в котором прописать путь к батнику и /K.
Надеюсь поможет кому-нибудь :)

No comments:

Post a Comment