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

Добавил пользователь Morpheus
Обновлено: 19.09.2024

Просмотр полной версии : Командная строка

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

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

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

Недавно столкнулся с такой проблемой:
как из командной строки (т.е. из програмки под ДОСом) создать письмо.
Почтовик OutLook Express или Intrernet Mail (это из 95 - если кто забыл)
:)

Alex Dark
как из програмки под ДОСом создать письмо
Сохрани в своем почтовике любое письмо в файл .msg и посмотри его формат. Такой же файл тебе и в программе под досом надо создавать.

Как писал Denver
Alex Dark

Сохрани в своем почтовике любое письмо в файл .msg и посмотри его формат. Такой же файл тебе и в программе под досом надо создавать.

Здравствуйте. Подниму тему: хочу спросить - у меня Виндоус ХР хома
когда я из командной строки (пуск - выполнить) набираю сmd то окно открывается у меня в ПОЛНОЭКРАННОМ режиме. А вот на другом компе открывается в оконном режиме. Как сделать оконный режим для команды сmd? :idontnow:

balzam
Alt+Enter Это касается перехода между оконным и полноэкранным режимом для большинства DOS- и консольных программ.

Нажми Alt+Enter - получишь окно. Правой кнопкой по заголовку окна -> Cвойства -> Отображение "В окне" -> Ок -> Сохранить свойства для других окон с тем же именем -> Ok.

balzam
Чтобы работало для всех консольных окон, в реестре HKEY_CURRENT_USER\Console параметр FullScreen выставить в ноль

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

Да нет. Я хочу из меню RUN запустить прогу. Но она запускается для всех пользователей. А мне надо что бы конкретно под залогиневшегося.

Boy Genius
Что значит "она запускается для всех пользователей"? Ты запускаешь прогу, делаешь логофф, входит другой юзер, а прога все еще работает. Вообще-то так работают только службы. Поподробнее, плиз. Например, какую прогу запускаешь и в как выглядит действие "она запускается для всех пользователей"?

Нет. Пример: "прогарамма х", установил, настроил, кракнул. Запускаю меню из RUN и "программа х" запускается не настроеной и не кракнутой.

Boy Genius
1. Ты уверен, что крак сработал?
2. Сдается мне дело вот в чем: ты ставишь, ломаешь и настраиваешь прогу под одним пользователем, а запускаешь под другим - она запускается неломаная и ненастроенная. Тогда просто скопируй профиль пользователя, под которым ставил, на профиль нужного юзверя или на "Default User", если профиль нужного создается каждый раз при входе и удаляется при выходе (гостевой профиль).

Ghost:
2. Сдается мне дело вот в чем: ты ставишь, ломаешь и настраиваешь прогу под одним пользователем, а запускаешь под другим - она запускается неломаная и ненастроенная. Тогда просто скопируй профиль пользователя, под которым ставил, на профиль нужного юзверя или на "Default User", если профиль нужного создается каждый раз при входе и удаляется при выходе (гостевой профиль).

Либо просто настраивай ее от имени пользователя.

правда может быть вариант, что от пользователя ставить ПО нельзя. Тогда запускай и настраивай от своего имени (держишь Shift и правой лавишей мыши по проге). А потом пользуй от имени пользователя. Сам так настраиваю.

Кто-нибудь нашел такое поведение, когда 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, работают нормально.

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

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

  • суперпользователь, безопасный режим, запуск в качестве администратора, изменение права собственности и разрешений — не помогло
  • Я вызывал при запуске меню, а также d-click cmd.exe с тем же результатом,
  • Нет вирусов или вредоносных программ, обнаруженных на сегодняшний день при сканировании с помощью McAfee, Anti-malware, MS Malicious удаление. и т.д.

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

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

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

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

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

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

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

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

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

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

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

  1. Помещение строки pause после пакетных программ, чтобы побудить пользователя нажать клавишу до выхода
  2. Запуск этих командных файлов или других инструментов управления командной строкой (даже запуск службы, перезапуск и т. д. с net start xy или что-то подобное) в пределах cmd.exe (Start — Run — cmd.exe)
  3. Запуск этих программ с cmd /k следующим образом: cmd /k myprogram.bat

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

(Элементы автозапуска _String values_ . )

Я помещаю cmd /d /k в качестве значения, чтобы попробовать, но это вообще не изменило поведение упомянутых выше вещей . Это просто изменило поведение окна командной строки при ее открытии явно (Start-Run-cmd.exe).

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

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

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

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

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

Запустите командную строку, набрав .

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

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

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

  • закрывается командная строка
  • почему командная строка сразу закрывается — Лучшие ответы
  • командная строка закрывается — Лучшие ответы
  • как узнать ip адрес через командную строку — Полезные советы — Интернет
  • как запустить компьютер через командную строку — Полезные советы — Windows
  • как удалить файл через командную строку — Полезные советы — Windows
  • Как открыть Internet Explorer в Windows 10 — Полезные советы — Операционные системы
  • как сделать загрузочную флешку командная строка — Полезные советы — Windows

Оригинальная статья опубликована пользователем jak58 . Переведено пользователем Айдан Мамедова. Последнее обновление 03.09.2019, 10:39 от пользователя Макс Вега.

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

Было бы хорошо, если бы был способ определить, был ли файл .cmd запущен двойным щелчком в проводнике (тогда вы хотите, чтобы он сделал паузу в конце), или если он был запущен уже открытой командной строкой. В последнем случае (и особенно если он выполняется другой программой) вам не нужна пауза. Я не нашел хорошего решения для этого случая (и обычно использую переменную if% NOPAUSE%, но это работает только для родительских программ, а не для оболочек paremt).

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

Да, это не всегда работает в зависимости от окружающей среды. Для более надежного решения см. Мой ответ ниже. По сути, просто сделайте set / p exitkey = "Нажмите любую клавишу, чтобы продолжить . "

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

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

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

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

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

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

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

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

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

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

В моем случае у меня была какая-то ошибка во время выполнения команды терминала, и поэтому команды 'pause' и 'cmd / k' не помогли мне остановить программу из-за ошибки. Этот пример помог мне показать, у меня есть ошибка, а также остановился совсем из терминала. Спасибо!

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

мой способ - написать фактическую партию (говоря "foo.bat" ), чтобы закончить работу; затем создайте еще один "start.bat":

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

Вы можете просто поместить cmd /k (без какой-либо команды) в конец файла foo.bat и запустить его. Вам не нужен отдельный файл start.bat .

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

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

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

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

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

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

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

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

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

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

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

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

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

Возможность 1: Просто создайте 2 файла .bat и напишите в первую:

Пакетный файл 2 - это файл, который не закрывается в конце. Итак, теперь, когда вы открываете партию № 1, она начнет 2-й и сам гной. Когда второй заканчивается, он не будет полностью закрываться (до тех пор, пока вы не положите выход в конце)

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

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

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



1 ответ 1

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

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

или даже так (если он иногда делает exit ):

Всё ещё ищете ответ? Посмотрите другие вопросы с метками bat или задайте свой вопрос.

Связанные

Похожие

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

дизайн сайта / логотип © 2022 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2022.1.24.41238

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