как в bat файле сделать так, чтобы после выполнения bat файл не закрывался
Как в bat файле сделать так, чтобы после выполнения bat файл не закрывался?
![]()
Можно помледней строкой поместить что-то из этого:
Либо запускать так:
или даже так (если он иногда делает exit ):
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.3.11.43304
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Как предотвратить автоматическое закрытие консоли после выполнения командного файла
Может ли кто-нибудь сказать мне, какую команду поставить в конце пакетного файла, чтобы предотвратить автоматическое закрытие консоли после выполнения файла?
14 ответов
В пакетных файлах Windows/DOS:
Это печатает приятное сообщение «Press any key to continue . . . «
Или, если вы не хотите сообщение «Press any key to continue . . .» , сделайте это вместо этого:
Зависит от точного вопроса!
Обычно pause выполняет задание в файле .bat.
Если вы хотите, чтобы cmd.exe не закрывался, чтобы продолжать печатать, используйте команду cmd /k в конце файла.
Если вы хотите, чтобы cmd.exe не закрывался и мог продолжать печатать, используйте cmd /k
Просто почувствовал необходимость уточнить, что делает /k (с сайта Windows):
/k : Выполняет команду, указанную в строке, и продолжает.
Итак, cmd /k без последующей команды в конце файла bat просто сохранит окно cmd.exe для дальнейшего использования.
С другой стороны, pause в конце командного файла просто приостанавливает процесс и завершает cmd.exe при первой кнопке, нажав
Добавьте cmd.exe в новую строку под кодом, который вы хотите выполнить:
Ниже приведен список команд в командном файле, который откроет новые окна командной строки, а новые окна не будут автоматически выходить.
Вызвать cmd в конце командного файла.
мой способ — написать фактическую партию (говоря «foo.bat» ), чтобы закончить работу; затем создайте еще один «start.bat»:
Я считаю, что это очень полезно, когда я устанавливаю одноразовые переменные среды.
. Он будет ожидать ввода пользователем и высвободит поток при нажатии клавиши.
который будет делать то же самое, если ничего из пользовательского ввода не будет отображаться и не останется в истории команд.
Этот маленький хак просит пользователя ввести ключ и сохраняет его в переменной% exitkey% (эта переменная может быть вызвана тем, что вам нравится, хотя).
NB: пространство после ‘=’ очень важно
Легко, добавьте cmd в свою последнюю строку летучей мыши, НО! если вы reset или очистите свой системный путь, вы должны запустить свой cmd с полным путем, например:
Например, у меня есть файл bat для reset jdk для старой версии, например:
так как я reset системный путь, я должен запустить cmd с полным путем или система не сможет найти cmd.exe, он не сможет запустить cmd и просто закроет окно, t см. сообщение об ошибке.
Есть два способа сделать это зависит от варианта использования
1) Если вы хотите, чтобы приглашение Windows cmd оставалось открытым, чтобы вы могли увидеть результат выполнения и закрыть его впоследствии; использовать
2), если вы хотите, чтобы приглашение Windows cmd оставалось открытым и позволяло выполнять некоторые последующие команды; использовать

Я знаю, что опаздываю, но мой предпочтительный способ:
Таким образом, пользователь не может выйти с помощью ввода.
Возможность 1: Просто создайте 2 файла .bat и напишите в первую:
Пакетный файл 2 — это файл, который не закрывается в конце. Итак, теперь, когда вы открываете партию № 1, она начнет 2-й и сам гной. Когда второй заканчивается, он не будет полностью закрываться (до тех пор, пока вы не положите выход в конце)
Возможность 2: Пакетный файл 1:
Когда второй файл заканчивается, он снова переходит к файлу 1 и выводит оставшуюся часть. С этим вы даже можете сделать обработчики ошибок. Если nr.1 сбой, он переходит в nr.2 и отображает его
Технические заметки
Время от времени тебе хочется автоматизировать какой-либо процесс, который повторяется изо дня в день. Это может быть запуск локального веб сервера, 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.
Надеюсь поможет кому-нибудь 🙂
Командная строка закрывается после выполнения — почему и что делать

Во многих инструкциях на сайте для выполнения действий предлагается использовать команды в командной строке, в некоторых случаях — bat файл. Один из частых комментариев к таким материалам: командная строка сразу закрывается и нельзя ничего успеть увидеть.
В этой статье подробно о том, почему командная строка сразу закрывается, что делать, чтобы она не закрывалась применительно к Windows 11 и Windows 10 (актуально и для предыдущих систем), а также дополнительная информация на тему. Внимание: если командная строка открывается сама, на эту тему есть отдельная инструкция Что делать, если само открывается и закрывается окно командной строки в Windows 11 и 10.
Почему командная строка закрывается и что делать, чтобы этого не происходило
Рассмотрим два случая, когда командная строка закрывается:
- После выполнения введённой команды
- После выполнения bat-файла
В первом случае почти всегда причиной является ввод команды не в командную строку, а в диалоговое окно «Выполнить», которое некоторые пользователи считают командной строкой, хотя это не так. Подробнее о том, как именно работают указанные системные элементы:
- Если вводить команду в окно «Выполнить» (вызываемое клавишами Win+R, либо через правый клик по кнопке «Пуск» в случае Windows 11 и 10), окно командной строки откроется и закроется сразу после выполнения, если дальнейший ввод пользователя не требуется.

- Если запустить непосредственно командную строку (Как открыть командную строку, Запуск командной строки от имени администратора), и ввести команду уже в ней, автоматическое закрытие окна происходить не будет, и вы увидите, что именно выдает команда в результате выполнения.

В случае выполнения bat-файла, если команды в нём не требуют ввода пользователя и не содержат команд паузы до нажатия клавиши пользователем, то при запуске (простым двойным кликом из расположения файла) и успешном выполнении, окно командной строки будет автоматически закрыто.
Если вы хотите иметь возможность прочитать ход выполнения и результат работы bat-файла, вы можете:

- Открыть командную строку (как во втором пункте выше), указать путь к bat-файлу и нажать Enter. Он будет запущен и выполнен, но командная строка не будет закрыта после выполнения.
- В конце файла добавить команду PAUSE (сделать это можно в любом текстовом редакторе, подробнее: Как создать bat файл в Windows). В этом случае после выполнения любым способом окно не закроется пока вы не нажмете любую клавишу.
Командная строка сама открывается и сразу закрывается
Иногда вопрос о закрытии командной строки относится к другой ситуации: без каких-либо действий пользователя, обычно при входе в систему, но иногда и в произвольные моменты времени, само открывается окно командной строки и тут же закрывается, раньше, чем вы успеваете что-либо увидеть. В этом случае возможны следующие варианты: