Bat файл закрыть файл

Обновлено: 03.07.2024

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

Однако, если я запустил это, и Xming еще не открыт, как только я выйду из терминала PuTTY, окно cmd останется открытым. Только если я уже запустил Xming, окно cmd закрывается, когда я закрываю терминал PuTTY. Я попытался добавить exit в последнюю строку командного файла, но безрезультатно.

ОТВЕТЫ

Ответ 1

Измените командный файл на START обе программы, а не START ввод одного и CALL другого

Если вы запустите его таким образом, после запуска программы CMD-окно не останется открытым.

Ответ 2

  • Обычно вы заканчиваете командный файл с строкой, которая просто говорит exit

* Если вы хотите убедиться, что файл запущен, и для закрытия окна DOS через 2 секунды вы можете добавить строки:

  • Но. команда exit не будет работать, если ваш пакетный файл откроет другое окно - потому что, хотя второе окно открыто, также будет показано старое окно DOS.

РЕШЕНИЕ: Например, там есть небольшой бесплатный прогейм под названием BgInfo, который отобразит всю информацию о вашем компьютере. Предположим, что это в каталоге C:\BgInfo. Чтобы запустить его из пакетного файла с помощью переключателя "/popup". И для того, чтобы окно DOS закрывалось после этого, пока оно все еще выполняется, используйте:

Ответ 3

Это сработало для меня. Я просто хотел закрыть окно команды автоматически после выхода из игры. Я просто дважды нажимаю на .bat файл на своем рабочем столе. Нет ярлыков.

Ответ 4

Добавьте этот код в конце кода выполнения

Ответ 5

Вы можете попробовать несколько опасное: taskkill /IM cmd.exe ..dangerous bcz, который убьет открытый CMD и любой CMD, открытый перед ним.

Или добавьте подтверждение, чтобы подтвердить, что у вас есть правильный cmd.exe, а затем убить его с помощью PID, например:

Замените (pslist &&A) или (tasklist /FI "PID eq %%A") для (taskkill /PID %%A) , если вы хотите сначала проверить его (и, возможно, установить pstools).

Ответ 6

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

а в другом файле вы можете сделать

Команда cmd/c закроет окно командной строки после запуска exe.

Ответ 7

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

начать/подождать abaqus cae noGUI = "c:\temp\Code1.py" cmd/c EXIT 0

Этот пакетный файл вызывается из кода Фортрана. После вызова он открывает командное окно и запускает Code1.py. Поскольку он не закрывает командное окно, код Fortran, который вызвал этот командный файл, приостанавливает операцию, пока я не закрою командное окно вручную. Я был бы очень признателен, если бы кто-нибудь мог мне помочь с этим.

Ответ 8

У меня было это, я добавил EXIT , и изначально это не сработало, я полагаю, что каждый из них требует совета called program exiting , упомянутого в другом ответе здесь, однако теперь он работает без лишнего шума - не уверен, что вызвало это, но следует отметить, что я вызываю файл данных .html , а не программу, которая обрабатывает его browser.exe , я ничего не редактировал, но достаточно сказать, что он очень аккуратный, просто используя файл bat для доступа к основному доступ к страницам этих веб-документов и только наличие title.bat , contents.bat , index.bat в корневой папке с остальной частью содержимого во вложенной папке.

i.e.: contents.bat читает

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



Запустить cmd и отобразить все процессы

Запустить cmd можно несколькими способами:

  1. Нажмите на клавиатуре Win (кнопочка с плывущим окошком) и R (языковой регистр не имеет значения). В появившееся окно «Выполнить» впишите cmd и нажмите ОК.


  1. Нажмите Win и X, запустите нужное средство от имени администратора.


  1. Напишите в поисковой строке Пуска cmd и запустите приложение cmd.exe двумя быстрыми щелчками.



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

Увидеть программу, которая зависла, поможет команда tasklist. Её нужно написать в появившемся чёрном окошке (там, где мигает курсор), после чего нажать клавишу Enter. Способ одинаково актуален для всех версий Windows – 7, 8 и 10. Результатом этого действия будет появление списка всех запущенных на ПК процессов.


Закрыть программу

Вам остаётся только отыскать в появившемся перечне программу, создающую проблемы, и запомнить её PID (цифровой идентификатор). Чтобы было более понятно, рассмотрим пример. Я запущу в Windows 10 приложение для проведения видеоконференций, найду Zoom в перечне процессов через командную строку и покажу, как его завершить.



В моём случае Zoom обозначился двумя процессами, завершение которых из командной строки возможно и по отдельности, и одновременно посредством команды taskkill. Кроме самой команды, понадобится ещё ввести ключ /f, а также:

  1. Атрибут IM, если мы будем использовать имя программы, тогда завершатся оба процесса. Вот как это выглядит в данном примере: taskkill /f /IM Zoom.exe (после ввода команды нужно нажать Enter).


  1. Атрибут PID, если мы будем вводить не имя, а идентификатор, чтобы убить один конкретный процесс: taskkill /f /PID.



Используем «батник»

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

Батник сооружается следующим образом:

  1. Создайте новый текстовый документ («Блокнот»), для чего сделайте правый щелчок на пустом пространстве рабочего стола, обратитесь к инструменту «Создать» и выберите соответствующий пункт.


  1. Откройте полученный документ двумя быстрыми щелчками впишите в него команду taskkill /F /IM zoom.exe (у меня имя zoom.exe, вы вписываете название своей проблемной утилиты).



  1. Нажмите «Сохранить» и на рабочем столе появится батник.


Когда злополучная программа вновь запустится и загрузит ПК, дважды быстро щёлкните по подготовленному bat-файлу, чтобы её закрыть.

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

Инструкции, описанные мной выше, подойдут для пользователей Windows. Пользователи «Линукс» также могут закрыть любое приложение через текстовые команды, используя для этого терминал. Он запускается нажатием клавиш Ctrl + Alt + T. Сначала необходимо узнать идентификатор процесса, который требуется убить. В этом поможет команда ps aux | grep [ИМЯ] или pgrep [ИМЯ]. Потом следует использовать команду kill [ID] или pkill [ID]. Чтобы закрыть сразу все окна некой программы, например, браузера, можно использовать команду killall [ИМЯ].


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

Очень надоела одна программка, которая при запуске открывает свое окно и кидает на рабочий стол, постоянно приходится щелкать на крестик (закрытие окна) что бы она в трее висела.
Команда TASKKILL /F /IM соответственно не подойдет, т.к. это убивает процесс, а нужно только что бы она с экрана убралась.

Предотвращение закрытия окна
есть проблема: руки менее опытных людей постоянно норовят закрыть окно (назовём его окном сервера).

Батник для закрытия командной строки
Всем привет!Создал Батник для открытия удаленного рабочего стола вот этой командой- mstsc.exe /v.

Команда для закрытия формы
Народ, какой командой закрыть форму? т.е. есть одна материнская. открыл вторую путем <FONT.


Команда для закрытия программы в с++
Помогите, я новичок в с и еще не все понимаю, подскажите как сделать что бы при нажатии на "3".

нет альтернативы? Напишите сами.

Чтобы что-то посоветовать, нужна конкретика о программе. Которой нет в теме. Может у нее есть некие параметры командной строки для минимизации, скрытия окна, как вот у TheBat-а /nologo.

mailagent, если бы знал какие там ключи есть, давно бы дописал. Через cmd значит ничего нету?

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

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

mailagent, если бы знал какие там ключи есть, давно бы дописал

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

magirus, работает по старому, запускается, но окно на экране все равно появляется.

Добавлено через 1 минуту
raxp, если вы имели ввиду "выше" это

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

мы уже выяснили, что всего знать невозможно. То чего не знаете вы, не значит что не знают другие. И наоборот тоже верно.

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

открываете блокнот, копируете туда сию строку, закрываете блокнот и сохраняете в файл 'blahideproga.vbs'. Все. VBS скрипт работает из коробки в Windows OC, ничего инсталлировать и компилировать не надо. Считайте это аналогом батника.

Однако в контексте обсуждения метод требует коррекции. WScript.Shell метод Run - задает режим запуска внешних программ, в данном случае в скрытом режиме. Вам же свернуть надо, а значит код будет:

Второй параметр расшифровывается как:
0 – скрывает окно, будет виден только процесс в диспетчере задач.
1 – нормальный режим
2 – свернутый вид
3 – развернутый вид

то же самое получилось, что и в случае с cmd, вот моя строка:

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

Если у cmd и vbs или как там её нету функции на закрытие окна = крестик у видовских окон, то в альтернативных решениях действительно смысла немного. Mailo,
Однако я ошибся Окно все-таки можно свернуть - через тот же powershell. Была проблема с получением handle окна - по имени процесса оказывается нифига не отрабатывает. Пришлось юзать системную функцию FindWindow для поиска окна по классу:
Как скрипт powershell запускать знаете? Сохраните с расширением .ps1 и запускать можно в cmd:
Если я правильно все написал, то скрипт не сработал:
так как у вас политика запуска скриптов powershell не установлена.
Это повлияет только на текущий сеанс запуска интерпретатора.
Или выполните команду:

для постоянного разрешения запуска скриптов.
Вот допустимые значения установки политики:

-- Restricted: не загружает файлы конфигурации и не выполняет скрипты. "Restricted" — значение по умолчанию.

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

-- RemoteSigned: требует, чтобы все скрипты и файлы конфигурации, загруженные из Интернета, были подписаны доверенным издателем.

-- Unrestricted: загружает все файлы конфигурации и выполняет все скрипты. Если запущен неподписанный скрипт, который был загружен из Интернета, то программа просит ввести разрешение перед запуском.

-- Bypass: ничего не блокируется, и никакие предупреждения и запросы не появляются.

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

чтобы она закрылась как через крестик, а не TASKKILL »
Запустите Блокнот, наберите в нём несколько символов, откройте командную строку, наберите и исполните в ней команду:
Убедитесь, что Блокнот получил уведомление о закрытии своего окна, поскольку вывел запрос о сохранении набранного текста:

Теперь Вы должны понимать, что данная форма команды «taskkill.exe» — без принудительного закрытия (параметра «/f») — работает именно так, как Вы и хотели — «как через крестик».

закрыть (обычным способ, не taskkill) все программы, кроме c:\program.exe. »
При снятии процессов некоторых системных служб операционная система будет принудительно перезагружена. Вам это надо?!

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

taskkill.exe /fi "ImageName eq notepad.exe" действует точно так же как будто мы нажали крестик. И верно - блокнот спрашивает сохранить ли набранный текст.

Вопрос. Как на все вопросы, возникающие при закрытии программы автоматически ответить "Да". В справке по taskkill.exe нет ничего нужного. taskkill /f - не подходит! Почему - ответ ниже.

Для тех кто любит спрашивать "А зачем тебе это надо?" сразу отвечаю. У меня стоит ночное архивирование баз 1с. Если кто то оставил программу не закрытой, то база не архивируется, потому как 1С ставит запрет на использование файлов базы любым другим процессам во время ее работы. При использовании taskkill /f /im 1cv8.exe приложение закрывается. Но запрет на использование файлов базы остается и архиватор не пакует эту базу.

При попытке закрыть программу taskkill.exe /fi 1cv8.exe 1С спрашивает, Вы уверены, что хотите закрыть программу? Вот тут-то и нужно автоматически ответить "Да".

Для тех, кто любит доколупаться.
На вопрос "А если документ поправили и не сохранили. " Ответ - Да, сохраняем! И меня не волнует что там сделали, все равно сохраняем.

Как я понимаю taskkill не то что мне нужно. Кто подскажет как решить проблему и в какую сторону "копать"? Сразу скажу, что я не программист и хреновый администратор, поэтому определениями и жаргоном не засыпать. Подскажите человеческим языком.

Команда EXIT используется для завершения пакетных файлов с установкой значения переменной ERRORLEVEL или для завершения командного процессора CMD.EXE ( для выхода из командной строки), если она выполняется вне пакетного файла.

Формат командной строки:

EXIT [/B] [exitCode]

Параметры командной строки:

/B - Предписывает завершить текущий пакетный файл-сценарий вместо завершения CMD.EXE. Если выполняется вне пакетного файла-сценария, то будет завершена программа CMD.EXE

exitCode - Указывает цифровое значение. Если указан ключ /B, определяет номер для ERRORLEVEL. В случае завершения работы CMD.EXE, устанавливает код завершения процесс с данным номером.

Примеры использования команды EXIT

exit - завершить текущий сеанс CMD

Команда EXIT с параметрами используются, как правило, только в командных файлах. Например, для индикации результата выполнения с установкой значения переменной среды ERRORLEVEL

REM перейти к метке, где выполняется выход с ERRORLEVEL=0

REM перейти к метке, где выполняется выход с ERRORLEVEL=1

REM установить ERRORLEVEL равный 0 и завершить работу

REM установить ERRORLEVEL равный 1 и завершить работу

Параметр /B используется в тех случаях, когда выполняется завершение командного файла, но необходимо продолжить работу командного процессора. Например, когда командный файл 1.bat вызывает командной CALL другой командный файл 2.bat , результат выполнения которого, характеризуется значением переменной окружения ERRORLEVEL . Если в вызываемом командном файле использовать команду EXIT без параметра /B, то будет завершена работа вызываемого файла 2.bat, а также вызывающего файла 1 .bat и интерпретатора CMD.EXE, т.е вместо выхода из вызываемого файла будет полностью завершен сеанс командной строки.

Простейший пример, когда командный файл 1.bat вызывает на выполнение другой командный файл с именем 2.bat и выводит на экран значение ERRORLEVEL, установленное при выходе из вызываемого файла:

echo Batch file 2.bat executed with ERRORLEVEL = %ERRORLEVEL%

Файл 2.bat завершается командой EXIT с установкой значения ERRORLEVEL, равного 128:

Batch file 2.bat executed with ERRORLEVEL = 128

Попробуйте убрать параметр /B в команде EXIT командного файла 2.bat и оцените полученный результат.

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