Окно командной строки быстро закрывается

Обновлено: 19.05.2024

Командная строка служит не только для рукописного ввода команд на запуск программ и утилит, не имеющих (в том числе) графической оболочки. Нередко консоль служит для так называемой тихой установки или обновления программы. Если всё идёт по плану, консоль должна на мгновение появиться и исчезнуть. Однако случается так, что консоль команд исчезает и появляется, как бы мигая многократно.

Консоль команд исчезает и появляется: проверьте Планировщик.

Большинство процессов, запускаемых фоном (а в том числе и обновления) запланированы системой. А значит видны в Планировщике заданий. Чаще всего своим заданием они имеют однократный запуск, если задача исполняется успешно. Если нет — задача может повторяться, перезапуская консольный скрипт. Не редкость — сбой исполнения задачи при переходе с предыдущей версии Windows на обновлённую или работа после очередного крупного обновления. Так что начать копать лучше именно отсюда. Но, к сожалению, Планировщик придётся «лопатить» вручную, ибо вседейственного способа пока нет. Я лишь могу вам показать пару инструментов, которые помогут определиться в направлении поиска. Вообще, работа над ошибками через Планировщик требует более развёрнутого объяснения. Но пока что запускаем Планировщик командой taskschd.msc из строки Выполнить (WIN + R).

Начнём с финиша: у любой из запланированных задач есть код результата исполнения в части Результат последнего запуска. Сразу примите к сведению, что ЛЮБОЙ результат уже выполненной задачи, отличный от значения 0x0 — ошибка. Особое внимание обратите на задачи, которые имеют множество триггеров для начала выполнения. Соотнеся со временем последнего запуска (дата и время должны быть недавнишними) и условиями, вы сразу увидите с какой-программой «что-то не то». Системные задания, датируемые 90-ми годами, конечно, не в счёт. Вобщем, от этой ситуации и отталкивайтесь. Косвенно о состоянии задач можно судить уже с начального экрана Планировщика:

состояние задач в планировщике

Все задачи, если кто забыл, имеют конкретный адрес. Это C:\Windows\System32\Tasks. Каждая из них легко открывается любым текстовым редактором. В открытом файле вы легко увидите кто её запланировал, с помощью какой программы та призвана открываться и т.п. Кроме того, любая из задач оставляет свой след и в реестре:

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

Задач немало… Прикинем и отключим не нужное.

Консоль команд исчезает и появляется: причина в Windows?

Ничего не помогает…

Срочно запускаем антивирусную и антималварьную программы. Всякий раз прошу не путать эти полезные, но всё-таки по-своему шорные приложения. Исключения составляют комплексные программы, позволяющие перехватывать не только вирусы, но и другие зловредные процессы. Ссылок на программы не даю, мне за них не платят. Но донести хочу факт — такое поведение консоли может говорить о предпринимаемых против вашего компьютера злонамеренных действиях. Характерный тому пример, который мне разрешено публиковать на страницах блога, в статье Взлом Windows XP или что такое метерпретер ?

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

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

В этой статье подробно о том, почему командная строка сразу закрывается, что делать, чтобы она не закрывалась применительно к Windows 11 и Windows 10 (актуально и для предыдущих систем), а также дополнительная информация на тему.

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

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

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

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

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

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

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

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

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

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

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

Что делать, если cmd.exe сам запускается

Решение проблемы автоматического запуска cmd.exe.

Из-за чего появляется командная строка cmd.exe

Данный процесс является автоматическим, причём это может быть как системная служба, так и вирусная активность. Давайте рассмотрим два момента, при которых может выскакивать это окно.

  1. Во время запуска Windows. Если у вас сначала загружается рабочий стол, а потом появляется окно строки, то это связано с фоновой работой какой-либо службы операционной системы. Чем мощнее ваш ПК, тем быстрее командная строка cmd.exe исчезает.
  2. Если окно всплывает постоянно и мешает работе, то это связано с ошибкой того фонового процесса, который никак не может прогрузиться или который блокирует система.

Опасен ли такой автозапуск

Чаще всего данный процесс не несёт в себе никакой опасности. Ваша ОС постоянно запускает множество операций и служб. Однако есть вероятность, что данные недоразумения происходят из-за сторонней программы, а в худшем случае — из-за вирусного программного обеспечения.

Как убрать открывающуюся командную строку cmd.exe

Проверка sfc /scannow

Эта служба исправляет все ошибки системы, что может устранить нашу проблему.

Диагностический запуск

  1. Откройте панель «Выполнить» нажатием комбинации клавиш Win + R. Наберите команду «msconfig». Отметьте «Диагностический запуск». Нажмите ОК и перезапустите компьютер. Если строка всё равно выскакивает, то это происходит из-за системного процесса.

Данные рекомендации помогут в случае простых и незначительных сбоях. В других случаях следует провести более детальную проверку.

Удаляем выскакивающий cmd.exe с помощью планировщика

В решении нашей проблемы нам может помочь планировщик задач. Открыть его можно с помощью поиска или набора команды «taskschd.msc» в окне «Выполнить» (Win + R). Давайте разберёмся, что нужно там сделать, чтобы ошибка приложения прекратилась.

Планировщик заданий

  1. Перейдите в библиотеку планировщика, нажав на соответствующую строку в левой части экрана.
  2. На экране вы видите все операции, как системные, так и сторонние. К каждой из них в описании приложены частота и время запуска.
  3. Внимательно пролистывайте список и находите подозрительные записи. Удаляйте их. Если не уверены, стоит ли это делать, то просто нажмите «Отключить».

После данной операции сбой должен быть устранён.

Давайте подведём итоги. Такая проблема, как выскакивание строки cmd.exe, является очень распространённой. Главное – это понять её причины. Если она появляется во время включения компьютера, то всё нормально и переживать не стоит. В других случаях вам могут помощь описанные в нашей статье рекомендации. Если вам что-то непонятно и у вас остались вопросы, то смело задавайте их в комментариях.

Многие компьютерные проблемы решаются с использованием интерпретатора командной строки – этот архаизм, доставшийся Windows от предшественницы, операционной системы MS-DOS, оказался настолько живучим, что и в эру тотального графического интерфейса находит частое применение.


Существует два сценария использования командной строки:

  • вы запускаете терминальное окно, и уже в нём вводите необходимые команды, завершая работу командой exit;
  • вы используете готовый файл (cmd или bat). В этом случае командная строка запускается автоматически и так же самостоятельно закрывается после того, как все команды скрипта отработали.

Последний вариант весьма удобен с пользовательской точки зрения, поскольку минимизирует его усилия. Но у него имеется один существенный недостаток: зачастую команды отрабатываются столь быстро, что вы не успеваете рассмотреть результаты работы батника. А в большинстве случаев это и полезно, и нужно.

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

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

Как мы уже отмечали, правильный способ использования командной строки – запуск интерпретатора командой cmd из консоли «Выполнить», и последующий ввод команд вручную.

Ввод команды cmd

Увы, многочисленные инструкции, гуляющие в сети, игнорируют эту рекомендацию и советуют пользователям вводить нужные текстовые команды непосредственно в панели «Выполнить». И наивные пользователи свято верят в то, что используют командную строку правильно. На самом деле это не так. После ввода команды в окно «Выполнить» (которое в Windows 10/11 запускается нажатием ПКМ по кнопке «Пуск», а в версиях ОС ниже – использованием комбинации Win+R) и нажатия Enter действительно происходит запуск командной строки и отработка самой команды. Но если результат работы введённой команды таков, что не требует никаких действий от пользователя, окно КС после этого сразу закроется. И это происходит в абсолютном большинстве случаев, даже если в ходе выполнения команды нужно нажимать какие-то клавиши.

Запуск командной строки от имени администратора

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

При ручном открытии КС сначала запустится окно терминала, в котором нужно ввести команду или набор команд. В этом случае командная строка после выполнения этих команд не закрывается. То есть у вас появится возможность внимательно изучить результаты отработки скрипта или команды, и только после этого закрыть терминальное окно, набрав exit и нажав Enter (или просто щелкнув мышкой по крестику в правом верхнем углу окна терминала).

Но что делать, если инструкция требует запуска bat-файла (двойным кликом по нему), а вам нужно, чтобы после отработки сценария окно не закрывалось, поскольку там будут отражены результаты работы скрипта?

Самый очевидный способ – сначала запустить интерпретатор командной строки, а уже в нём указать полный путь к bat-файлу, после чего нажать Enter. Если вы не ошиблись с указанием этого пути (в конце обязательно должно стоять наименование файла с его расширением), что случается достаточно часто, то результат вас удовлетворит: команда будет выполнена, а окно терминала после этого не закроется.

Основная сложность здесь в том и заключается, что нужно знать, в какой папке находится нужный файл, и правильно ввести этот путь.

Есть и другой способ, хотя и он потребует от вас некоторых нетривиальных действий, а конкретнее – правки этого батника. Делается это посредством запуска любого текстового редактора (например, Блокнота). От вас потребуется в конце файла добавить строку и ввести команду pause.

Команда pause в Блокноте

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

Надпись «Для продолжения нажмите любую клавишу…»

Такой же результат получится, если в конце батника добавить строку cmd /k.

Команда cmd/k в Блокноте

При этом вы как бы перезапускаете КС, то есть результаты выполнения предыдущих команд будут стёрты. В этом плане использование pause будет предпочтительнее.

Действие команды cmd/k

Самопроизвольное открытие и закрытие командной строки

Когда вы являетесь инициатором запуска КС, что делать, чтобы она не закрывалась, мы уже рассмотрели. Но наверняка каждый из вас сталкивался с ситуацией, когда пресловутое чёрное окно открывается и закрывается без вашего ведома, а что в нём происходило, заметить практически невозможно. Чаще всего такие запуски случаются во время старта операционной системы, но иногда они происходят в самый неожиданный момент без видимых причин (хотя на самом деле причины обязательно имеются, например, такой сценарий прописан в одном из фоновых процессов).

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

Переход в Планировщик заданий в Windows 10

Такой же результат может быть следствием процедуры инсталляции или удаления пользователем компьютера некоторых программ, часто – после перезагрузки системы.

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

Планировщик заданий в Windows

Для начала следует проверить, какие программы присутствуют в автозагрузке, не мешает проинспектировать и планировщик заданий. Если вы найдёте строку, начинающуюся с cmd.exe с указанием параметров после этого текста, то это, скорее всего, и есть причина запуска КС. Чтобы убедиться в этом, отключите строку в Автозагрузке, убрав справа галочку, и сделайте то же самое в Планировщике. Если запуски командной строки прекратятся, а работа операционной системы останется стабильной, подозрительные строки можно удалить навсегда.

Вкладка «Автозагрузка» в Windows 10

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

Можно также попробовать автоматизировать процесс, чтобы командная строка, независимо от того, вы её запустили, операционная система или вирус, не закрывалась в конце. Для этого потребуется внести определённые правки в реестр – то есть способ рекомендуется только для опытных пользователей.

Команда regedit в Windows 10

Итак, запускаем командой regedit редактор системного реестра и переходим по пути

Папка command в реестре

По умолчанию для этой ветки установлен единственный параметр со значением

Значение параметра в папке command

Его нужно заменить на

Изменение значения параметра в папке command

Точно такие же манипуляции производим с веткой HKCR\cmdfile\shell\open\command.

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

Приветствую страждущих, сегодня разберём вопрос о том, что можно предпринять, если запущенная вами командная консоль закрывается после выполнения работы, не сообщая более ни о чём. Давненько я разбирал вопрос о появляющейся на миг (обычно в период запуска Windows) и тут же захлопывающейся консоли. Там природа проблемы лежала в другой плоскости. Здесь же подразумевается, что консоль cmd запускается нарочито с вашего ведома (чаще в виде некоего батника). Но если та сразу закрывается, это не всегда удобно, если мы ожидаем ввода следующей команды или вывода результатов того, как батник отработал.

Если командная консоль закрывается самостоятельно, мы можем:

  • дополнить батник командой Pause
  • добавить к запуску «вечный» операнд /k
  • изменить поведение консоли через реестр

Учтите, что при применении этих настроек консоли впредь придётся указывать на то, чтобы та закрылась отдельной командой. Или ей придётся ожидать действий пользователя.

Добавим команду «Пауза»

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

Команда cmd /k

Именно она и позволяет исполнять вновь добавляемые команды после того, как сам батник отработает. Консоль останется открытой и при этом готовой к вводу следующей команды пользователя. Откроем для этого батник для редактирования редактором и добавим « cmd /k» финишной строкой.

окно cmd готово к следующей команде

Настройки консоли в реестре

Оба описанных метода одинаково просты, но и требуют индивидуального подхода: файлы необходимо редактировать вручную, добавляя указанные команды. Есть способ попробовать заставить консоль вообще не закрываться, пока пользователь не закроет окно принудительно. Для этого откроем редактор реестра

и найдём пару ключей

HKEY_CLASSES_ROOT\batfile\shell\open\command

HKEY_CLASSES_ROOT\cmdfile\shell\open\command

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

Читайте также: