Перейти к содержимому

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

  • автор:

Командная строка закрывается после выполнения — почему и что делать

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

Во многих инструкциях на сайте для выполнения действий предлагается использовать команды в командной строке, в некоторых случаях — bat файл. Один из частых комментариев к таким материалам: командная строка сразу закрывается и нельзя ничего успеть увидеть.

Почему командная строка закрывается и что делать, чтобы этого не происходило

Рассмотрим два случая, когда командная строка закрывается:

  • После выполнения введённой команды
  • После выполнения bat-файла

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

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

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

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

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

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

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

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

  • Если это происходит не часто, вероятнее всего речь идёт о простой работе Windows: система может выполнять отдельные действия по завершении установки обновлений, обслуживанию и первоначальной настройке системы после установки инициируя запуск команд через командную строку.
  • В некоторых случаях завершение установки или удаления программ (в том числе после перезагрузки компьютера) выполняется с помощью командной строки — в этом сценарии появление окна командной строки также не будет регулярным.
  • При постоянном открытии и закрытии окон командной строки при включении компьютера или во время работы, следует проверить программы в автозагрузке и планировщике заданий: если там запускается cmd.exe с какими-либо параметрами, постараться разобраться, что именно, возможно — удалить из автозагрузки либо отключить задание в планировщике заданий. Чуть более подробно о процессе поиска в статье про ситуацию, когда сам открывается браузер с рекламой (даже если у вас это не происходит, логика та же). Также может иметь смысл использовать средства удаления вредоносных программ для поиска и удаления нежелательного ПО с компьютера.

Видео

А вдруг и это будет интересно:

  • Лучшие бесплатные программы для Windows
  • Как отключить или удалить Связь с телефоном в Windows 11 и 10
  • Ошибка 0xc000001d при запуске игры или программы — как исправить?
  • Ключ восстановления BitLocker в Windows — способы посмотреть
  • User OOBE Broker — что это за процесс в Windows 11 и 10
  • Ошибка 0x803F8001 в Microsoft Store, играх и приложениях — как исправить?
  • Windows 11
  • Windows 10
  • Android
  • Загрузочная флешка
  • Лечение вирусов
  • Восстановление данных
  • Установка с флешки
  • Настройка роутера
  • Всё про Windows
  • В контакте
  • Одноклассники

    владимир 16.02.2023 в 17:26

  • Dmitry 17.02.2023 в 13:39
cmd /C КОМАНДА & pause

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

Есть некая внешняя программа которая запускается из bat-файла program.bat (внутри него prog.exe и еще что-то).
Мне надо, чтобы программа запустилась, что-то сделала, завершилась, и чтобы только после этого продолжилось выполнение основной программы.

Использую Dev C++ 5.11. Под Windows 7 все как надо, запускаю под Windows 10 (на другой машине) — увы, никакого ожидания, сразу продолжается выполнение, таким образом внешняя программа не успевает выдать результат.

Сама команда выглядит максимально просто:
system(«program.bat»);

Думается, что это что-то очень простое и надо где-то что-то разрешить или поменять какой-то режим.

  • Вопрос задан более года назад
  • 650 просмотров

1 комментарий

Простой 1 комментарий

Что делать, если после выполнения скрипта командная строка автоматически закрывается

Командная строка, будучи запущенной, закроется только тогда, когда пользователь нажмет кнопку завершения работы или выполнит в ней команду exit. Но бывает и такое, что после командная строка закрывается сама, не сообщая пользователю о результатах отработанного сценария и не сообщая о причинах закрытия. Как правило, с таким поведением консоли приходится сталкиваться при выполнении скриптов — CMD или BAT -файлов.

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

Ну что же, понудить ее изменить свое поведения очень просто. Самый простой способ — это добавить в конец командного файла команду pause или специальный ключ, запускающую копию командной строки.

Команда pause

Главное, чтобы у вас имелись права на редактирование этого самого скрипта.

Отройте скрипт Блокнотом или любым другим текстовым редактором и добавьте в самый конец кода команду pause или cmd /k.

Команда cmd /k

Это два разных способа и работают они по-разному.

Команда pause прерывает выполнение скрипта и выводит сообщение «Для продолжения нажмите любую клавишу…». Если команда добавлена в конец скрипта, при нажатии любой клавиши консоль будет закрыта, если же pause окажется в середине кода, после нажатия любой клавиши продолжится выполнение скрипта (следующих команд) .

CMD

Команда cmd /k работает несколько иначе.

Будучи добавлена в конец сценария, она как-бы перезапускает консоль, выводя стандартное приглашение ввести новую команду.

Cmd /k

Если же добавить cmd /k в середину кода, его выполнение будет прервано и прекращено.

В этом основная разница между этими командами.

Тонкая настройка командной строки

Если нет желания возиться с каждым командным файлом, отредактируйте параметры работы самой командной строки.

Для этого открываем командой regedit редактор реестра и разворачиваем ветку:

HKCR\batfile\shell\open\command

В правой колонке меняем значение параметра по умолчанию с «%1» %* на cmd.exe /k «%1» %*.

RegEdit

Тоже самое проделываем с параметром по умолчанию в ветке HKCR\cmdfile\shell\open\command , для командных файлов формата CMD .

RegEdit

Вот и всё, отныне командная строка будет закрываться только по решению юзера, если только в сценарий не прописана команда exit .

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

Фененко Любовь
Как предотвратить автоматическое закрытие консоли . ↗батники мужские Как предотвратить автоматическое закрытие консоли после выполнения командного файла. 319 . Если вы хотите, чтобы cmd.exe не закрывался, чтобы продолжать . Итак, cmd /k без последующей команды в конце файла bat просто . который будет делать то же самое, если ничего из пользовательского .

Bat файл не закрывать окно после выполнения
Bat файл не закрывать окно после выполнения . Если вы хотите, чтобы cmd.exe не закрывался, чтобы продолжать печатать, используйте команду cmd /k в . С этим вы даже можете сделать обработчики ошибок.

CMD/BAT — [решено] как сделать чтобы окно не . ↗2. Есть ps1. Нужно, чтобы после его выполнения(когда на него тыкаешь) не закрывалось окошко. Непойму — как? Отправлено: 18:49, 06-12-2009 .

Автоматически закрывать окно cmd после выполнения . ↗Я хочу, чтобы этот второй батник запускался в фоне, но это второе отдельное cmd окошко закрывалось автоматически, после того, как .

Закрыть bat после выполнения / Программирование / Sql.ru
Закрыть bat после выполнения / Программирование / Добрый день.Подскажите, как закрыть батник после выполнения всех команд?

Как автоматически закрыть окно cmd после выполнения . ↗Как автоматически закрыть окно cmd после выполнения пакетного файла? . разделить команды на одну команду для каждого файла, вы можете сделать это . Я просто дважды нажимаю на файл .bat на моем рабочем столе. . Вторичное окно CMD не должно закрываться после этого, и на него можно.

Как отключить автоматическое закрытие командной . ↗Как отключить автоматическое закрытие командной строки после . Я знаю, что были некоторые хитрости с более старыми версиями Windows, чтобы сделать это, . в результате чего окно cmd.exe быстро открывалось и закрывалось, как я . BAT файлах, закрывающихся после выполнения инструкций без .

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

Как сделать чтобы окно командной строки не закрывалось .Как сделать чтобы окно командной строки не закрывалось после выполнения скрипта, чтобы отловить ошибку? Привет, у меня такой вопрос к Вам. Я .

Как сделать, чтобы после выполнения BAT . — Ответы Mail.ru
Как сделать, чтобы после выполнения BAT файла командная строка из которой он был запущен не закрывалась? Мне нужно из одного батника .

как в bat файле сделать так, чтобы после выполнения bat .
Можно помледней строкой поместить что-то из этого: pause cmd. Либо запускать так: cmd /k smth.bat. или даже так (если он иногда .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *