Как сделать чтобы bat файл не закрывался

от admin

как в bat файле сделать так, чтобы после выполнения bat файл не закрывался

Как в bat файле сделать так, чтобы после выполнения bat файл не закрывался?

LGPvS's user avatar

Можно помледней строкой поместить что-то из этого:

Либо запускать так:

или даже так (если он иногда делает 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 оставалось открытым и позволяло выполнять некоторые последующие команды; использовать

Изображение 7243

Я знаю, что опаздываю, но мой предпочтительный способ:

Таким образом, пользователь не может выйти с помощью ввода.

Возможность 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-файла

В первом случае почти всегда причиной является ввод команды не в командную строку, а в диалоговое окно «Выполнить», которое некоторые пользователи считают командной строкой, хотя это не так. Подробнее о том, как именно работают указанные системные элементы:

  1. Если вводить команду в окно «Выполнить» (вызываемое клавишами Win+R, либо через правый клик по кнопке «Пуск» в случае Windows 11 и 10), окно командной строки откроется и закроется сразу после выполнения, если дальнейший ввод пользователя не требуется. Ввод команды в окно Выполнить
  2. Если запустить непосредственно командную строку (Как открыть командную строку, Запуск командной строки от имени администратора), и ввести команду уже в ней, автоматическое закрытие окна происходить не будет, и вы увидите, что именно выдает команда в результате выполнения. Ввод команды в командной строке

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

Если вы хотите иметь возможность прочитать ход выполнения и результат работы bat-файла, вы можете:

Запуск BAT файла из командной строки

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

Командная строка сама открывается и сразу закрывается

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

Похожие статьи