Почему закрывается командная строка в windows сразу после

Почему командная строка закрывается сразу после выполнения команды и не удается увидеть результат. Объяснение для начинающих пользователей и дополнительная информация.

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Если это происходит не часто, вероятнее всего речь идёт о простой работе Windows: система может выполнять отдельные действия по завершении установки обновлений, обслуживанию и первоначальной настройке системы после установки инициируя запуск команд через командную строку.
  • В некоторых случаях завершение установки или удаления программ (в том числе после перезагрузки компьютера) выполняется с помощью командной строки — в этом сценарии появление окна командной строки также не будет регулярным.
  • При постоянном открытии и закрытии окон командной строки при включении компьютера или во время работы, следует проверить программы в автозагрузке и планировщике заданий: если там запускается 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 редактор системного реестра и переходим по пути

HKCRbatfileshellopencommand.

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

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

"%1" %*

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

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

cmd.exe /k "%1" %*

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

Точно такие же манипуляции производим с веткой HKCRcmdfileshellopencommand.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Видео

Содержание

  1. Что делать, если после выполнения скрипта командная строка автоматически закрывается
  2. Тонкая настройка командной строки
  3. Командная консоль закрывается сама: как исправить?
  4. Добавим команду «Пауза»
  5. Команда cmd /k
  6. Настройки консоли в реестре
  7. Как предотвратить закрытие командной строки после выполнения?
  8. 11 ответов
  9. cmd закрывается сразу после запуска
  10. Предотвратить автоматическое закрытие командной строки
  11. Похожие запросы
  12. Как предотвратить автоматическое закрытие консоли после выполнения командного файла
  13. ОТВЕТЫ
  14. Ответ 1
  15. Ответ 2
  16. Ответ 3
  17. Ответ 4
  18. Ответ 5
  19. Ответ 6
  20. Ответ 7
  21. Ответ 8
  22. Ответ 9
  23. Ответ 10
  24. Ответ 11
  25. Ответ 12
  26. Ответ 13
  27. Ответ 14
  28. Ответ 15
  29. Ответ 16
  30. Ответ 17

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

cmdclose

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

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

6260223 1

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

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

6260223 2

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

6260223 3

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

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

6260223 4

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

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

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

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

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

HKCRbatfileshellopencommand

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

6260223 5

6260223 6

consolemore

7zip

cmd

screen

Источник

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

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

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

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

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

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

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

Команда cmd /k

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

%D0%BE%D0%BA%D0%BD%D0%BE cmd %D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D0%BE %D0%BA %D1%81%D0%BB%D0%B5%D0%B4%D1%83%D1%8E%D1%89%D0%B5%D0%B9 %D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%B5

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

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

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

HKEY_CLASSES_ROOTbatfileshellopencommand

HKEY_CLASSES_ROOTcmdfileshellopencommand

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

%D0%BD%D0%B5%D0%B7%D0%B0%D0%BA%D1%80%D1%8B%D0%B2%D0%B0%D1%8E%D1%89%D0%B5%D0%B5%D1%81%D1%8F %D0%BE%D0%BA%D0%BD%D0%BE cmd

Теперь окно консоли закроется только по команде самого юзера.

Источник

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

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

Но есть и другие случаи, в которых пользователь:

Я прочитал статью об изменении поведения по умолчанию cmd.exe при открытии его явно, с созданием Запись AutoRun и управление его содержимым в этих местах:

Итак, как это работает? Можете ли вы дать мне какие-либо идеи для решения этой проблемы?

11 ответов

Откройте regedit и перейдите к каждому из них:

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

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

(Для 16-разрядных MS-DOS-программ Windows предлагает в диалоговом окне свойств параметр «Закрыть при выходе», но это не является исключением из вышеприведенного поведения: это процесс NTVDM, который закрывает окно. Кроме того, эта опция снова для каждой программы.)

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

1. Перейдите в папку, в которой находится ваш исполняемый файл. 2.Shift-Щелкните правой кнопкой мыши и выберите «Окно команд отсюда»
3.type в имени исполняемого файла и нажмите Enter
4. Процесс должен выполняться, но окно должно оставаться открытым.

cmd.exe /k даст вам проблемы с некоторыми партиями. Если пакет exit 1 (без /B ) ваша консоль будет закрыта. Трюк заключается в том, чтобы использовать:

Мое решение (только что протестированное на Win7) как добавить cmd в качестве последней строки в пакетном файле. Это запускает вложенную командную строку, которая наследует среду его родителя. Эта дочерняя оболочка хранит пакетный процесс открытым до тех пор, пока вы не выйдете, и в этот момент пакет не имеет дочерних процессов и также выходит.

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

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

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

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

, чтобы определить, был ли командный файл запущен из окна команд или нет.

Итак, вы используете его следующим образом:

В момент выхода командного файла вы добавите следующий код:

, поэтому, если вы обычно запускаете файл с именем go.bat, тогда вы создадите второй командный файл с именем go2.bat

содержимое go2.bat будет просто

первое окно немедленно закрывается, но тот, который запускает ваш go.bat, остается открытым

Это работает для версии 5.00 редактора реестра Windows.

Сохраните указанные выше cmds в файле, который называется что-то вроде cmdbatfile-open.reg и выполните его!

Теперь для простоты вы можете запустить пакетный файл для их обоих, назовем это launch_both.bat с содержимым:

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

Для пользователей, использующих Windows 10, обратите внимание, что ни один из вышеперечисленных ответов не работает в Windows 10.

Для Windows 10, если у вас есть доступ к скрипту, вам нужно добавить следующий код в конце:

Этот код будет ждать ввода перед закрытием.

НЕ работал (запрос cmd перевернулся, и на самом деле вернул ошибку (1)). Спасибо PSIXO за ответ, который мне нужен. Генри.

Источник

cmd закрывается сразу после запуска

Кто-нибудь нашел такое поведение, когда Command Processor (cmd.exe) закрывается сразу после его вызова? Ive запускает McAfee AV и проверку системного файла Windows (sfc.exe), и ничего плохого не было обнаружено, Ive даже скопировал файл cmd.exe с другого компьютера Win 7, и он все еще работает одинаково. Самое странное — на окнах 7 64 есть также 32-битная версия этого файла, которая работает совершенно нормально.

SysInternals Process Monitor показывает, что процесс cmd.exe заканчивается кодом выхода 0x0. o_O

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

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

Отвечая на все вопросы:

Наконец, я получил разрешение SOLVED :

Перейдите к HKLMSoftwareMicrosoftCommand Processor или HKEY_CURRENT_USERSoftwareMicrosoftCommand Processor или HKEY_LOCAL_MACHINESoftwareMicrosoftCommand Processor

По какой-то причине внутри был ключ AUTORUN с «EXIT».

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

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

Это также объясняет, почему код выхода был 0x0.

Не знаю, что это за штука. McAfee показал активность в течение недели, и я заметил ее в прошлую пятницу.

Надеюсь на эти симптомы, и мой ответ поможет кому-то в будущем

У меня была эта проблема, и я нашел что-то, чтобы попытаться решить мою проблему.

Исследуйте запись реестра HKLMSoftwareMicrosoftCommand Processor Если есть клавиша «Автозапуск», этот ключ заставляет запись командного файла в этом ключе запускаться в начале выполнения командной строки. Вы можете попробовать пропустить это выполнение, чтобы протестировать решение, используя RUN cmd.exe/d

Если проблема специфична для пользователя, проверьте HKCUSoftwareMicrosoftCommand Prompt для этого ключа. Текущая запись пользователя смешивается с локальной машинной записью, поэтому, если ключ существует в текущем реестре пользователей, он попытается выполнить указанный пакетный файл. На моем компьютере ключ был там, но пустой. Если в этом ключе есть командный файл, то выясните, что делает этот пакетный файл, и если вы хотите его там. Я удалил ключ вместе, и проблема исчезла. На моем компьютере ключ присутствовал у текущего пользователя, но не на локальном компьютере.

Как-то какой-то вирус, вероятно, поместил этот ключ в registyr, но поскольку он является допустимым ключом, для детекторов вредоносных программ трудно найти это.

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

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

Но есть и другие случаи, в которых пользователь:

Итак, как это работает? Можете ли вы дать мне какие-либо идеи для решения этой проблемы?

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

Notebook Emile Perron Unsplash

Предотвратить автоматическое закрытие командной строки

Нажмите клавиши Windows + R, чтобы запустить команду Выполнить.

Затем добавьте / K. После можете закрыть окно вручную.

Изображение: Emile Perron — Unsplash.com

Несколько слов благодарности всегда очень кстати.

Похожие запросы

Источник

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

Какую команду можно поставить в конце командного файла, чтобы предотвратить автоматическое закрытие консоли после выполнения файла?

ОТВЕТЫ

Ответ 1

В пакетных файлах Windows/DOS:

Ответ 2

Зависит от точного вопроса!

Обычно pause выполняет задание в файле .bat.

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

Ответ 3

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

Просто почувствовал необходимость уточнить, что делает /k (с сайта Windows):

/k : Выполняет команду, указанную в строке, и продолжает.

Итак, cmd /k без последующей команды в конце файла bat просто сохранит окно cmd.exe для дальнейшего использования.

С другой стороны, pause в конце командного файла просто приостанавливает процесс и завершает cmd.exe при первой кнопке, нажав

Ответ 4

Ниже приведен список команд в командном файле, который откроет новые окна командной строки, а новые окна не будут автоматически выходить.

Ответ 5

Если вы используете Maven и хотите пропустить ввод и не допустить закрытия консоли, чтобы увидеть результат, вам нужно использовать команду CALL в скрипте, кроме просто «mvn clean install».

Как это закроет консоль

Так консоль будет оставаться открытой

Ответ 6

Добавьте cmd.exe в новую строку под кодом, который вы хотите выполнить:

Ответ 7

Я считаю, что это очень полезно, когда я устанавливаю одноразовые переменные среды.

Ответ 8

Вызвать cmd в конце командного файла.

Ответ 9

. Он будет ожидать ввода пользователем и высвободит поток при нажатии клавиши.

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

Ответ 10

Возможность 2: Пакетный файл 1:

Когда второй файл заканчивается, он снова переходит к файлу 1 и выводит оставшуюся часть. С этим вы даже можете сделать обработчики ошибок. Если nr.1 сбой, он переходит в nr.2 и отображает его

Ответ 11

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

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

Ответ 12

Этот маленький хак просит пользователя ввести ключ и сохраняет его в переменной% exitkey% (эта переменная может быть вызвана тем, что вам нравится, хотя).

NB: пространство после ‘=’ очень важно

Ответ 13

Ответ 14

У меня были проблемы с ответами здесь, поэтому я придумал это, что работает для меня (TM):

Ответ 15

Есть два способа сделать это зависит от варианта использования

1) Если вы хотите, чтобы приглашение Windows cmd оставалось открытым, чтобы вы могли увидеть результат выполнения и закрыть его впоследствии; использовать

2), если вы хотите, чтобы приглашение Windows cmd оставалось открытым и позволяло выполнять некоторые последующие команды; использовать

a205a82790d53271349c952c22d897ca

Ответ 16

Легко, добавьте cmd в свою последнюю строку летучей мыши, НО! если вы reset или очистите свой системный путь, вы должны запустить свой cmd с полным путем, например:

Например, у меня есть файл bat для reset jdk для старой версии, например:

так как я reset системный путь, я должен запустить cmd с полным путем или система не сможет найти cmd.exe, он не сможет запустить cmd и просто закроет окно, t см. сообщение об ошибке.

Ответ 17

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

Источник

Has anyone found such behavior when Command Processor (cmd.exe) closes immediately after calling it?
I’ve run McAfee AV and Windows System File Check (sfc.exe) and nothing wrong was detected, I’ve even copied cmd.exe file from other win 7 machine and it is still working same way.
Strangest thing is – on the windows 7 64 there is also 32 bit version of that file which works perfectly normal.

SysInternals Process Monitor shows that cmd.exe process ends with exit code 0x0… o_O

Also calling commands directly from start menu, like ping, works normal…

Maybe that question is not strictly related to coding but that issue holds me from doing many things related to actual application development and environment check.

asked Mar 21, 2011 at 2:03

Random's user avatar

RandomRandom

4,3192 gold badges37 silver badges44 bronze badges

1

Answering all questions:

  • superuser, safe mode, run as admin, changing ownership and permissions — didn’t help
  • I was calling by menu start as well as d-clicking cmd.exe with same result,
  • No virsus either malware found by today’s scanning with McAfee, Anti-malware, MS Malicious removal… etc

Finally I got it SOLVED:

  • Run regedit
  • Go to HKLMSoftwareMicrosoftCommand Processor or HKEY_CURRENT_USERSoftwareMicrosoftCommand Processor or HKEY_LOCAL_MACHINESoftwareMicrosoftCommand Processor

  • For some reason there was AUTORUN key with «EXIT» inside.

  • Remove the AutoRun key and everything should went back to normal.
  • CMD.exe should start to work again.

Also,

In some cases, the Command prompt is also opening on Startup, which is when the above solution is applied hangs the system on Command prompt when you logon.

This can be fixed by using Autoruns, where you need to disable command prompt startup registries on Logon/Startup tab. (there can be more than one entries)

That one also explains why exit code was 0x0.

Have no idea what kind of thing set that key up… McAfee showed some activity lat week and I’ve noticed it last Friday.

Hope these symptoms and my answer will help someone in future

Mr_Green's user avatar

Mr_Green

40.2k43 gold badges159 silver badges265 bronze badges

answered Mar 21, 2011 at 6:15

Random's user avatar

RandomRandom

4,3192 gold badges37 silver badges44 bronze badges

6

I had this problem and found something to try that solved my problem.

Investigate registry entry HKLMSoftwareMicrosoftCommand Processor
If there is an «Autorun» key, this key causes the batch file entry in this key to run at the beginning of the command prompt execution. You can try to skip this execution to test the solution using RUN cmd.exe /d

If the problem is user specific, check HKCUSoftwareMicrosoftCommand Prompt for this key. The current user entry mixes in with the local machine entry so if the key exists in the current user registry then it will try to execute the listed batch file.
On my computer the key was there but empty. If there is a batch file in this key then figure out what that batch file is doing and if you want it there.
I deleted the key all together and the problem went away.
On my computer the key was present in current user but not in local machine.

Somehow some virus probably put this key in the registyr but since it is a valid key, it is hard for malware detectors to find this.

I didn’t find any other solutiosn to this problem on the web so please let others know if this works for you. I never post on forums but saw a bunch of questions about this and on good solutions so I thought I had to post.

I got the idea about this solution from this link.
http://software.oberberger.com/2008/09/interesting-stuff-about-cmdexe.html

Good luck.

answered May 12, 2014 at 5:26

Relieved's user avatar

I suspect this is a virus called vmprotected cryptocurrency miner.

I found an app in C:Users{profilename}AppDataRoamingMicrosoftSoundModuleSoundModule.exe

Also: The follow values were modified
Also there are two main keys you need to modify

HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogon

HKEY_CURRENT_USERSoftwareMicrosoftWindows NTCurrentVersionWinlogon

The shell key should have a value of explorer.exe and it was changed to %Comspec% which causes the command prompt to execute on login.

I would highly recommend you run a full virus scan and ensure the keys and executables are removed

answered Dec 22, 2019 at 20:08

Super1337's user avatar

Super1337Super1337

2161 silver badge8 bronze badges

1

I’ve had similar problem — cmd.exe was closing immediately after starting. I was able to keep it running by executing cmd.exe /K cmd.exe, but it was closing after any invalid command. I’ve found out that my problem was caused by non default code page:

C:>chcp
Active code page: 65001

To fix the problem I’ve removed registry entry:

[HKEY_CURRENT_USERConsole%SystemRoot%_system32_cmd.exe]
"CodePage"=dword:0000fde9

Another solution is to change cmd.exe font from raster fonts to a true type one.

Zsolt Botykai's user avatar

Zsolt Botykai

49.6k14 gold badges87 silver badges109 bronze badges

answered Jan 8, 2012 at 21:15

yachoor's user avatar

yachooryachoor

9241 gold badge8 silver badges18 bronze badges

1

This is a shot in the dark, but I have seen problems like this in the past when incorrectly specifying a debugger via Image File Execution Options. You might check to see if there’s an entry for ‘cmd.exe’ there.

answered Mar 21, 2011 at 2:36

paulcam's user avatar

paulcampaulcam

8845 silver badges14 bronze badges

0

Answering in case anyone else still runs into this problem. I have recently experienced same issue, and the reason for that was a bitcoin mining malware. I used Malwarebytes to scan the computer and remove the malware, which immediately resolved the problem.

answered Nov 26, 2019 at 19:55

Ach113's user avatar

Ach113Ach113

1,6603 gold badges15 silver badges38 bronze badges

3

Has anyone found such behavior when Command Processor (cmd.exe) closes immediately after calling it?
I’ve run McAfee AV and Windows System File Check (sfc.exe) and nothing wrong was detected, I’ve even copied cmd.exe file from other win 7 machine and it is still working same way.
Strangest thing is – on the windows 7 64 there is also 32 bit version of that file which works perfectly normal.

SysInternals Process Monitor shows that cmd.exe process ends with exit code 0x0… o_O

Also calling commands directly from start menu, like ping, works normal…

Maybe that question is not strictly related to coding but that issue holds me from doing many things related to actual application development and environment check.

asked Mar 21, 2011 at 2:03

Random's user avatar

RandomRandom

4,3192 gold badges37 silver badges44 bronze badges

1

Answering all questions:

  • superuser, safe mode, run as admin, changing ownership and permissions — didn’t help
  • I was calling by menu start as well as d-clicking cmd.exe with same result,
  • No virsus either malware found by today’s scanning with McAfee, Anti-malware, MS Malicious removal… etc

Finally I got it SOLVED:

  • Run regedit
  • Go to HKLMSoftwareMicrosoftCommand Processor or HKEY_CURRENT_USERSoftwareMicrosoftCommand Processor or HKEY_LOCAL_MACHINESoftwareMicrosoftCommand Processor

  • For some reason there was AUTORUN key with «EXIT» inside.

  • Remove the AutoRun key and everything should went back to normal.
  • CMD.exe should start to work again.

Also,

In some cases, the Command prompt is also opening on Startup, which is when the above solution is applied hangs the system on Command prompt when you logon.

This can be fixed by using Autoruns, where you need to disable command prompt startup registries on Logon/Startup tab. (there can be more than one entries)

That one also explains why exit code was 0x0.

Have no idea what kind of thing set that key up… McAfee showed some activity lat week and I’ve noticed it last Friday.

Hope these symptoms and my answer will help someone in future

Mr_Green's user avatar

Mr_Green

40.2k43 gold badges159 silver badges265 bronze badges

answered Mar 21, 2011 at 6:15

Random's user avatar

RandomRandom

4,3192 gold badges37 silver badges44 bronze badges

6

I had this problem and found something to try that solved my problem.

Investigate registry entry HKLMSoftwareMicrosoftCommand Processor
If there is an «Autorun» key, this key causes the batch file entry in this key to run at the beginning of the command prompt execution. You can try to skip this execution to test the solution using RUN cmd.exe /d

If the problem is user specific, check HKCUSoftwareMicrosoftCommand Prompt for this key. The current user entry mixes in with the local machine entry so if the key exists in the current user registry then it will try to execute the listed batch file.
On my computer the key was there but empty. If there is a batch file in this key then figure out what that batch file is doing and if you want it there.
I deleted the key all together and the problem went away.
On my computer the key was present in current user but not in local machine.

Somehow some virus probably put this key in the registyr but since it is a valid key, it is hard for malware detectors to find this.

I didn’t find any other solutiosn to this problem on the web so please let others know if this works for you. I never post on forums but saw a bunch of questions about this and on good solutions so I thought I had to post.

I got the idea about this solution from this link.
http://software.oberberger.com/2008/09/interesting-stuff-about-cmdexe.html

Good luck.

answered May 12, 2014 at 5:26

Relieved's user avatar

I suspect this is a virus called vmprotected cryptocurrency miner.

I found an app in C:Users{profilename}AppDataRoamingMicrosoftSoundModuleSoundModule.exe

Also: The follow values were modified
Also there are two main keys you need to modify

HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogon

HKEY_CURRENT_USERSoftwareMicrosoftWindows NTCurrentVersionWinlogon

The shell key should have a value of explorer.exe and it was changed to %Comspec% which causes the command prompt to execute on login.

I would highly recommend you run a full virus scan and ensure the keys and executables are removed

answered Dec 22, 2019 at 20:08

Super1337's user avatar

Super1337Super1337

2161 silver badge8 bronze badges

1

I’ve had similar problem — cmd.exe was closing immediately after starting. I was able to keep it running by executing cmd.exe /K cmd.exe, but it was closing after any invalid command. I’ve found out that my problem was caused by non default code page:

C:>chcp
Active code page: 65001

To fix the problem I’ve removed registry entry:

[HKEY_CURRENT_USERConsole%SystemRoot%_system32_cmd.exe]
"CodePage"=dword:0000fde9

Another solution is to change cmd.exe font from raster fonts to a true type one.

Zsolt Botykai's user avatar

Zsolt Botykai

49.6k14 gold badges87 silver badges109 bronze badges

answered Jan 8, 2012 at 21:15

yachoor's user avatar

yachooryachoor

9241 gold badge8 silver badges18 bronze badges

1

This is a shot in the dark, but I have seen problems like this in the past when incorrectly specifying a debugger via Image File Execution Options. You might check to see if there’s an entry for ‘cmd.exe’ there.

answered Mar 21, 2011 at 2:36

paulcam's user avatar

paulcampaulcam

8845 silver badges14 bronze badges

0

Answering in case anyone else still runs into this problem. I have recently experienced same issue, and the reason for that was a bitcoin mining malware. I used Malwarebytes to scan the computer and remove the malware, which immediately resolved the problem.

answered Nov 26, 2019 at 19:55

Ach113's user avatar

Ach113Ach113

1,6603 gold badges15 silver badges38 bronze badges

3

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

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

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

Если командная строка дает сбой или закрывается сразу после ее открытия на ПК с Windows, вы можете использовать следующие решения для устранения проблемы:

  1. Перезагрузите компьютер.
  2. Сканируйте и удаляйте вредоносные программы с вашего ПК.
  3. Выполните сканирование SFC, чтобы восстановить поврежденные системные файлы.
  4. Настройте переменную среды.
  5. Создайте новую учетную запись пользователя.
  6. Удалите конфликтующую программу.
  7. Сбросить Windows.

Командная строка продолжает падать в Windows 11/10

1]Перезагрузите компьютер

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

2]Сканируйте и удаляйте вредоносные программы с вашего ПК

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

Для этого откройте приложение «Безопасность Windows» с помощью функции поиска. Теперь перейдите на вкладку Защита от вирусов и угроз и нажмите кнопку Параметры сканирования. После этого выберите тип проверки на вирусы, которую вы хотите выполнить, из быстрой проверки, полной проверки, выборочной проверки и проверки в автономном режиме, а затем нажмите кнопку Сканировать сейчас кнопка. Затем он начнет сканирование вашего компьютера на наличие вирусов. После этого вы можете удалить обнаруженное вредоносное ПО с вашего компьютера. Если вы используете сторонний антивирус, такой как Avast, AVG и т. д., вы можете выполнить аналогичные действия для запуска сканирования на вирусы.

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

Читать: Не удается запустить командную строку от имени администратора

3]Выполните сканирование SFC, чтобы восстановить поврежденные системные файлы.

Эта проблема может быть вызвана повреждением или отсутствием системных файлов. Следовательно, если сценарий применим, вы можете запустить встроенный в Windows инструмент под названием «Проверка системных файлов» (SFC) для исправления поврежденных системных файлов. Сканирование SFC обычно запускается через командную строку. Однако вы также можете использовать Windows PowerShell для выполнения сканирования SFC. Вот шаги, которые вы можете использовать:

Сначала откройте Windows PowerShell от имени администратора; найдите PowerShell, наведите указатель мыши на приложение PowerShell и выберите «Запуск от имени администратора».

Теперь выполните приведенную ниже команду в окне PowerShell и запустите сканирование:

SFC/сканировать

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

Если это не поможет, вам может потребоваться восстановить потенциально поврежденный образ системы с помощью DISM Tool.

4]Настроить переменную среды

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

  • Сначала откройте «Выполнить» с помощью Win + R, а затем введите sysdm.cpl, чтобы открыть окно «Свойства системы».
  • Теперь перейдите на вкладку «Дополнительно» и нажмите кнопку «Переменные среды».
  • После этого под Системные переменные нажмите на поле Путь.
  • Затем нажмите кнопку «Изменить», а затем нажмите кнопку «Создать».
  • Затем введите путь C:WindowsSysWow64 и нажмите Enter.
  • Наконец, нажмите кнопку OK, чтобы сохранить изменения, а затем перезагрузите компьютер.

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

5]Создайте новую учетную запись пользователя

создать новую учетную запись пользователя виндовс 11

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

  • Сначала запустите приложение «Настройки» с помощью Win + I, а затем перейдите на вкладку «Учетные записи».
  • После этого нажмите «Семья и другие пользователи» и нажмите кнопку «Добавить учетную запись».
  • Затем введите адрес электронной почты для своей новой учетной записи в следующем запросе.
  • Теперь нажмите кнопку «Далее» и следуйте инструкциям, чтобы завершить процесс.
  • Когда закончите, выйдите, а затем снова войдите в свою новую учетную запись.
  • Наконец, откройте командную строку и проверьте, решена ли проблема.

6]Удалите конфликтующую программу

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

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

  • Сначала откройте «Выполнить» с помощью Win + R и введите в нем msconfig, чтобы открыть окно «Конфигурация системы».
  • После этого перейдите на вкладку «Службы», установите флажок «Скрыть все службы Microsoft» и нажмите кнопку «Отключить все», чтобы отключить сторонние службы.
  • Теперь перейдите на вкладку «Автозагрузка», нажмите кнопку Открыть Управление задачамиr и отключите автозагрузку приложений.
  • Далее в окне «Конфигурация системы» нажмите кнопку «ОК» и перезагрузите компьютер.
  • При следующем запуске откройте командную строку и проверьте, устранена ли проблема.
  • Если да, вы можете включить службы одну за другой и проанализировать, какая из них вызывает проблему.
  • После того, как вы проанализировали виновника, удалите программу, чтобы навсегда решить проблему.

Если этот метод не помогает, у нас есть еще одно исправление, которое вы можете использовать.

Читать: Командная строка cmd.exe продолжает появляться при запуске

7]Сбросить Windows

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

  • Сначала откройте приложение «Настройки» с помощью Win + I и перейдите на вкладку «Система».
  • Теперь нажмите «Восстановление» на левой панели.
  • Затем нажмите кнопку «Сбросить ПК».
  • В появившемся диалоговом окне вы можете выбрать вариант «Сохранить мои файлы» или «Удалить все», а затем нажать «ОК».
  • После этого следуйте подсказкам и переустановите Windows.
  • После этого перезагрузите компьютер и посмотрите, работает ли командная строка без каких-либо проблем.

Чтение: Командная строка закрывается сразу после открытия пакетного файла

Что делать, если CMD не работает?

Если командная строка не работает или вообще не открывается на вашем компьютере, вы можете открыть командную строку с помощью проводника или диспетчера задач. Если это не поможет, вы можете запустить сканирование SFC через PowerShell, чтобы исправить поврежденные системные файлы, которые могут вызывать эту проблему. Кроме того, вы можете открыть командную строку в безопасном режиме, выполнить восстановление системы, чтобы вернуться в предыдущее работоспособное состояние, или использовать новую учетную запись пользователя для открытия CMD.

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

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

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

Команда pause

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

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

Команда cmd /k

Сохраните файл.

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

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

CMD

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

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

Cmd /k

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

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

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

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

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

HKCRbatfileshellopencommand

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

RegEdit

Тоже самое проделываем с параметром по умолчанию в ветке HKCRcmdfileshellopencommand, для командных файлов формата CMD.

RegEdit

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

Загрузка…

2 / 2 / 1

Регистрация: 08.01.2018

Сообщений: 135

1

02.06.2018, 16:08. Показов 13885. Ответов 6


__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



2939 / 2134 / 495

Регистрация: 11.09.2009

Сообщений: 7,979

02.06.2018, 18:50

2

Открываете через «Пуск» -> «Все программы» -> «Стандартные» -> «Командная строка»?



0



2 / 2 / 1

Регистрация: 08.01.2018

Сообщений: 135

02.06.2018, 22:11

 [ТС]

3

ага



0



Модератор

Эксперт HardwareЭксперт Windows

15148 / 7736 / 726

Регистрация: 03.01.2012

Сообщений: 31,802

03.06.2018, 10:41

4

От имени Администратора не пробовали?



0



2939 / 2134 / 495

Регистрация: 11.09.2009

Сообщений: 7,979

03.06.2018, 14:57

5

Цитата
Сообщение от LARGER
Посмотреть сообщение

ага

Попробуйте рассмотреть в окне CMD, не залетает ли в строку какая-нибудь «лишняя» команда.
Стоит также озаботиться проверкой на вирусы.



0



Модератор

Эксперт HardwareЭксперт Windows

15148 / 7736 / 726

Регистрация: 03.01.2012

Сообщений: 31,802

03.06.2018, 15:33

6

Цитата
Сообщение от i8085
Посмотреть сообщение

Попробуйте рассмотреть в окне CMD, не залетает ли в строку какая-нибудь «лишняя» команда

Зачем разглядывать? Записать видео с экрана (начав запись до попытки запустить CMD), а потом посмотреть запись покадрово (с помощью любого бесплатного плеера)



1



13 / 13 / 2

Регистрация: 01.06.2013

Сообщений: 227

18.06.2018, 12:41

7

Цитата
Сообщение от gecata
Посмотреть сообщение

Зачем разглядывать? Записать видео с экрана (начав запись до попытки запустить CMD), а потом посмотреть запись покадрово (с помощью любого бесплатного плеера)

Причиной может быть и другой процесс, работающий ради taskkill cmd

Я бы запустился в безопасном режиме и попробовал бы ещё раз



0



Понравилась статья? Поделить с друзьями:
  • Почему заканчивается место на диске с на windows 10
  • Почему заедает звук на компьютере windows 10
  • Почему задействована не вся оперативная память windows 10
  • Почему загрузка процессора 100 процентов в диспетчере задач windows 10
  • Почему загрузка диска 100 процентов windows 10