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

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

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

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

- Открыть командную строку (как во втором пункте выше), указать путь к bat-файлу и нажать Enter. Он будет запущен и выполнен, но командная строка не будет закрыта после выполнения.
- В конце файла добавить команду 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 или cmd /k.

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

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

Если же добавить cmd /k в середину кода, его выполнение будет прервано и прекращено.
В этом основная разница между этими командами.
Тонкая настройка командной строки
Если нет желания возиться с каждым командным файлом, отредактируйте параметры работы самой командной строки.
Для этого открываем командой regedit редактор реестра и разворачиваем ветку:
HKCR\batfile\shell\open\command
В правой колонке меняем значение параметра по умолчанию с «%1» %* на cmd.exe /k «%1» %*.

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

Вот и всё, отныне командная строка будет закрываться только по решению юзера, если только в сценарий не прописана команда 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. или даже так (если он иногда .