Как правильно закрыть / закрыть программы из командной строки, аналогично нажатию кнопки закрытия «X» в углу окна?
Я пытаюсь закрыть Chrome под 3 различными версиями Windows: Win7 Ultimate, Win7 Home, WinXP
Под Ultimate и XP: TSKILL chrome
Под домом TASKKILL /IM chrome.exe
(Он закрывает chrome, нет ошибок cmd,
но при повторном запуске восстанавливается ошибка chrome )
TASKKILL /IM chrome.exe :
(Он закрывает Chrome, нет ошибок Chrome при повторном запуске,
но ошибки в cmd: «невозможно завершить дочерние процессы (около 4-5), только принудительно с помощью /F »)
Должен ли я игнорировать дочерние ошибки cmd, если при повторном запуске Chrome не показывает ошибок ?
Taskkill отправляет сообщение WM_CLOSE целевой программе, если не указано / F (принудительное завершение), чтобы у программы была возможность очистить себя. Проверьте это с помощью Блокнота — откройте блокнот и введите что-нибудь там, и введите «taskkill / im notepad.exe». Вы увидите приглашение сохранить данные.
Как закрыть программу из командной строки
Правильный способ закрыть / закрыть программу в конечном итоге зависит от программного обеспечения. Однако, как правило, рекомендуется закрывать программы Windows всякий раз, когда они получают сообщение WM_CLOSE. Правильно освобождая память и закрывая ручки. Существуют и другие сообщения, которые могут сигнализировать о закрытии приложения, но как автор обрабатывает каждое сообщение, зависит от автора программного обеспечения.
taskkill /IM process.exe
taskkill отправляет сообщение WM_CLOSE, и затем дело за приложением, правильно ли закрыть. Вы также можете использовать эту /T опцию для сигнализации дочерних процессов.
Используйте эту /F опцию, только если вы хотите принудительно завершить процесс.
- WM_CLOSE против SC_CLOSE
- Как изящно завершить процесс
- Как завершить приложение «чисто» в Win32
Другие варианты включают отправку клавиш Alt + F4, использование PowerShell или сторонних приложений.
Обновить до обновленного вопроса
Проигнорируйте ошибки. Хром генерирует много процессов. Ошибки возникают, когда процесс не подтверждает сообщение WM_CLOSE, которое отправляет TASKKILL. Только процессы с циклом сообщений смогут получать сообщение, поэтому процессы, у которых нет цикла сообщений, будут генерировать эту ошибку. Скорее всего, эти процессы являются расширениями и плагинами Chrome.
Чтобы скрыть ошибки захвата вывода
taskkill /IM chrome.exe >nul
Описание: TASKKILL — это правильный способ с помощью командной строки закрывать приложения в соответствии с его реализацией WM_CLOSE и Microsoft KB, которую я связал .
Я обновил свой вопрос, пожалуйста, посмотрите на него
что это значит> нуль?
> является оператором перенаправления для cmd.exe и nul является пробелом, в котором больше ничего не слышно.
Он имеет команду «closeprocess», которая предназначена для корректного закрытия процессов. Согласно его документу, он не завершает приложения, а отправляет WM_CLOSE все окна верхнего уровня целевого процесса.
Если это не сработает, держу пари, в вашем приложении необычная процедура очистки. Я хотел бы посмотреть, что происходит внутри, поэтому, пожалуйста, дайте мне знать, какое у вас целевое приложение.
Я обновил свой вопрос, пожалуйста, посмотрите на него
Я нашел, что это работает лучше: nircmd win close title «My process title»
What is the proper way to close/exit programs from command line, similar to pressing the «X» close button in the corner of the window?
Ответ на этот вопрос можно найти here ( ссылка Microsoft ).
Вы можете отправлять WM_CLOSE сообщения в любое окно, которое хотите закрыть. Многие окна обрабатывают, WM_CLOSE чтобы предложить пользователю сохранить документы.
Я не знаю, как сделать это в пакетном режиме, но вы могли бы использовать VBScript для этого. Имитация клавиш Alt + F4 (приравнивается к сигналу WM_CLOSE ).
Запустите и посмотрите на поведение этого скрипта ниже.
Set WshShell = WScript.CreateObject(«WScript.Shell») ‘ Start Notepad.exe WshShell.Run «%windir%notepad.exe» ‘ Select, or bring Focus to a window named `Notepad` WshShell.AppActivate «Notepad» ‘ Wait for 4 seconds WScript.Sleep 4000 WshShell.SendKeys «Foo» WshShell.SendKeys «» WshShell.SendKeys «Bar» WshShell.SendKeys «» WshShell.SendKeys «» WshShell.SendKeys «baz» WshShell.SendKeys «%»
Here это список ключей имен для SendKeys.
Когда вы запускаете скрипт, блокнот открыт, некоторые слова пишутся, а затем подается сигнал о закрытии программы, см. Рисунок ниже.
Дополнительный вопрос
Можно ли запустить свернутую программу или фон с vbscript?
Да. Используйте следующий код:
WshShell.Run «%windir%notepad.exe», 2
Для получения дополнительной информации проверьте Run Method .
Может ли Chrome перейти на какой-либо URL-адрес в VBScript?
Dim iURL Dim objShell iURL = «www.google.com» set objShell = CreateObject(«Shell.Application») objShell.ShellExecute «chrome.exe», iURL, «», «», 1
Если по умолчанию используется chrome, используйте:
set objShell = CreateObject(«WScript.Shell») objShell.run(iURL)
Есть ли способ привлечь внимание к конкретному приложению ( chrome.exe )?
Я хочу отправить alt + f4 ТОЛЬКО в Chrome, независимо от того, что я делаю с другими окнами.
Следующий код работает на Windows 8 .
Dim objShell iURL = «www.google.com.br» Set WshShell = WScript.CreateObject(«WScript.Shell») WshShell.Run(iURL) ‘ Select, or bring Focus to Google Chrome WshShell.AppActivate «Google Chrome» ‘ Wait for 5 seconds WScript.Sleep 5000 WshShell.SendKeys «%»
Можно ли запустить свернутую программу или фон с vbscript?
а может ли chrome перейти на какой-то URL в vbscript?
Есть ли способ привлечь внимание к конкретному приложению (chrome.exe)?
Да, я пытаюсь с этим, но если после некоторой задержки (WScript.Sleep 5000) у меня есть (WshShell.AppActivate «Google Chrome»), если в течение этого периода я нажимаю на какое-то другое окно, Google Chrome не выходит на первый план Я могу видеть его фокус только на панели инструментов .
Существуют некоторые утилиты командной строки, которые могут отправлять подходящее WM_SYSCOMMAND сообщение ( SC_CLOSE в качестве команды) в окно верхнего уровня программы. Я уверен, что по крайней мере один будет упомянут в ближайшее время. (Тогда кто-то упомянет AutoIt. Тогда будет ответ, показывающий, как это сделать с помощью PowerShell и CloseMainWindow() .)
Вызывается утилита командной строки, которая поставляется как встроенная команда в TCC JP Software , интерпретаторе команд и процессоре сценариев команд для Windows TASKEND .
Я обновил свой вопрос, пожалуйста, посмотрите на него
Хорошо, не собираюсь лгать. Я видел это на stackoverflow и думал, что это сложный вопрос. Тааак я только что провел последние 2 часа, написав код. И вот оно .
Выполнив следующие действия, вы можете набрать «TaskClose notepad.exe» после нажатия «Пуск», и он автоматически сохранит все недокументированные файлы блокнота на рабочем столе. Он автоматически закроет chrome.exe и сохранит настройки восстановления.
Вы можете добавлять и удалять дополнительные настройки для других приложений в условиях if. Например:
If InStr(SINGLECLOSEAPPS, WScript.arguments(0)) Then SmartSendKeys strOutput,»bypass»,»%» ElseIf InStr(AUTOCLOSEAPPS, WScript.arguments(0)) Then SmartSendKeys strOutput,»»,»%|%s|.txt|%s» ‘Example 1: ============================================= ElseIf InStr(WScript.arguments(0), «outlook») Then SmartSendKeys strOutput,»»,»%» ‘Activate Alt+4 ‘======================================================== ‘Example 2: ============================================= ElseIf InStr(WScript.arguments(0), «notepad») Then ‘I know, already in my autoapps SmartSendKeys strOutput,»»,»%|%s|.txt» ‘Activate Alt+4 + Save File + = autoincrement filename ‘======================================================== Else SmartSendKeys strOutput,»bypass»,»%» End If
VBS и командные файлы выполняют следующие процедуры:
- Собирает исполняемый файл.
- Запрашивает имена исполняемых приложений из списка задач.
- Выполняет процедуру «Alt + TAB (x)», пока не проверит, открыто ли окно.
- Затем выполняет команды прокрутки, будь то «Alt + F4» или даже в крайних случаях
- Alt + F4
- Активировать Сохранить
- AutoIncrememnt Имя файла
- Выйти из приложения.
ReturnAppList.bat: установить в «C: windows system32 «
TaskClose.bat: установить в «C: windows system32 » И «C: Users YourUserName »
C:windowssystem32wscript.exe c:windowssystem32taskclose.vbs %1
TaskClose.vbs: установить в «C: windows system32 «
Set WshShell = CreateObject(«WScript.Shell») Const SINGLECLOSEAPPS = «chrome.exe|iexplore.exe|firefox.exe» Dim DEFAULTSAVELOCATION : DEFAULTSAVELOCATION = wshshell.SpecialFolders(«Desktop») Const AUTOCLOSEAPPS = «notepad.exe» Const WshFinished = 1 Const WshFailed = 2 strCommand = «returnapplist.bat » Set WshShellExec = WshShell.Exec(strCommand result.txt») Case WshFailed strOutput = LoadStringFromFile(«result.txt») End Select ‘SmartSendKeys(application_name_array, bypassclause, additionalcommands) ‘======================== If InStr(SINGLECLOSEAPPS, WScript.arguments(0)) Then SmartSendKeys strOutput,»bypass»,»%» ElseIf InStr(AUTOCLOSEAPPS, WScript.arguments(0)) Then SmartSendKeys strOutput,»»,»%|%s|.txt|%s» Else SmartSendKeys strOutput,»bypass»,»%» End If ‘SmartSendKeys(application_name_array, bypassclause, additionalcommands) ‘======================== Function SmartSendkeys(fArr, LoopCount, RollCommands) Dim x Dim splt : splt = Split(farr, vbCrLf) If loopcount = «bypass» Then x = 0 Else x = UBound(splt) End If a = 0 For s=0 To x If Len(splt(s)) > 1 Then Set objShell = WScript.CreateObject(«WScript.Shell») c = 1 : tabs = «» Success = False Do Until Success = True Success = objShell.AppActivate(Trim(splt(s))) If success <> True Then If c = 1 Then tabs = «» Else tabs = «» End If ‘wscript.echo «Activating: » %» %» App not found» Exit Function End If End If Loop Dim cmds : cmds = Split(rollcommands, «|») For Each cm In cmds If InStr(cm, «») Then Dim file_ext : file_ext = Split(cm, «.») cm = DEFAULTSAVELOCATION autosave» «.» Scripting.FileSystemObject») Set f = fso.OpenTextFile(filename, fsoForReading) Dim fulltext : fulltext = f.ReadAll LoadStringFromFile = fulltext f.Close fso.DeleteFile(filename) End Function
Это было очень весело писать, и я больше рад закончить его, чем показывать ответ. Удачной недели!
Источник: qastack.ru
Как закрыть файл в командной строке?
Чтобы закрыть определенный файл или папку, щелкните правой кнопкой мыши имя нужного файла или папки в области результатов, а затем выберите команду Закрыть открытые файлы.
Как закрыть хром через командную строку?
Если у вас есть несколько экземпляров приложений, как например chrome, то выполнение команды taskkill /IM. chrome.exe завершит их все. При указании PID можно завершить только конкретные процессы Chrome. Вы можете использовать переменные и операторы с флагом /FI.
Как закрыть консоль виндовс?
Для того чтобы закрыть консоль командной строки, необходимо выполнить команду exit.
Как удалить файл через командную строку отказано в доступе?
При удалении файлов или папок с помощью проводника используйте сочетание клавиш SHIFT + DELETE. Это обходит корзину. Откройте окно командной строки, а затем с помощью команды RD/s/q удалите файлы или папки.
Как удалить папку с помощью командной строки?
Команда RD (RMDIR) удаляет каталог/папку через командную строку. А для удаления простых файлов используется команда DEL.
Как удалить содержимое папки?
Бывают ситуации, когда требуется удалить содержимое папки, но саму папку оставить. Для этого нужно заходить в папку, выделять содержимое мышкой или сочетанием клавиш Ctrl+A, затем удалять, выбрав в контекстном меню «Удалить» или нажав клавишу Delete.
Как через командную строку завершить процесс?
Для завершения процессов через командную строку в Windows 7 или Windows 10 нужно использовать команду «taskkill». Данная команда позволяет завершить процесс на локальном или удаленном компьютере по его названию или идентификатору (PID).
Как закрыть все приложения через cmd?
Alt+F4 – универсальная комбинация для закрытия любых программ.
Как закрыть программу не через диспетчер задач?
Нажмите Alt+Ctrl+Del, во вкладке «Приложения» найдите зависшую программу и нажмите «Снять» задачу. Если это не помогло, перейдите во вкладку «Процессы», найдите зависший процесс и нажмите «Завершить процесс». В большинстве случаев зависшая программа после этого закроется.
Как закрыть окно комбинацией клавиш?
«Комбинации клавиш системы Windows: ALT + F4: выход из программы» означает, что Windows завершит работу, если получит Alt + F4. Чтобы попробовать это, покажите рабочий стол, нажмите на рабочий стол и введите Alt + F4. Вы получаете меню выключения. Это не означает, что другие приложения должны выйти.
Как закрыть приложение в виндовс 10?
Шаг 1: Откройте «Параметры», нажав сочетание клавиш Win + I . Шаг 2: Нажмите раздел «Приложения» → «Приложения и возможности». Шаг 3: Выберите приложение, которое перестало отвечать, и нажмите ссылку «Дополнительные параметры». Шаг 4: На следующей странице, найдите и нажмите кнопку «Завершить».
Как удалить файл из командной строки Windows 10?
Если вам нужно удалить файл через командную строку, то для этого нужно использовать команду DEL или ERASE. Эти команды являются синонимами и работают одинаково. Вы можете получить подробную информацию об этих командах, если введете их в командную строку с параметром «/?».
Как удалить файл с правами админа?
Во вех версиях Windows это можно сделать из «Панели управления». Следует перейти в «Учетные записи», а затем в «Изменение параметров контроля». После этого система разрешит делать все, что угодно, в том числе и удалять любые данные, папки, а также файлы.
Как удалить файлы к которым нет доступа?
- Перезапустите компьютер .
- Воспользуйтесь архиватором .
- Удалите папку через учётную запись администратора .
- Проверьте систему на вирусы .
- Проверьте, чтобы внутри папки не было заблокированных файлов .
- Воспользуйтесь сторонним менеджером файлов .
- Удалите папку в безопасном режиме
Источник: chelc.ru
Как закрыть cmd через cmd?
У нас есть 21 ответов на вопрос Как закрыть cmd через cmd? Скорее всего, этого будет достаточно, чтобы вы получили ответ на ваш вопрос.
Содержание
- Как закрыть командную строку Windows 10?
- Как выйти из командной строки Windows?
- Как закрыть командную строку в линукс?
- Как закрыть cmd?
- Как выйти из консоли?
- Как завершить команду в консоли?
- Как закрыть cmd через cmd? Ответы пользователей
- Как закрыть cmd через cmd? Видео-ответы
Отвечает Григорий Архипов
Команда EXIT – завершить работу командного процессора или текущего командного файла. Команда EXIT используется для завершения пакетных файловпакетных файловКомандные файлы (пакетные файлы, скрипты, сценарии, ”батники”) — это обычные текстовые файлы с расширением . bat или . cmd, строки которых представляют собой специальные команды командного процессора (интерпретатора команд ) и/или имена исполняемых файлов с параметрами. https://ab57.ru › cmd
Как закрыть командную строку Windows 10?
Откройте групповые политики: в строке поиска или в меню “Выполнить” (выполнить вызывается клавишами Win+R) введите gpedit. msc и нажмите клавишу Enter. 2. Зайдите в “Конфигурация пользователя” => “Административные шаблоны” => “Система” => откройте параметр “Запретить использование командной строки“.
Как выйти из командной строки Windows?
Если нужно выйти из него, не закрывая окно командной строки, это также можно сделать командой exit. Синтаксис и примеры ниже. B — завершение текущего командного файла вместо завершения процесса CMD. EXE (закрытия окна командной строки).
Как закрыть командную строку в линукс?
Ctrl+Shift+Q — закрыть активный терминал.
Как закрыть cmd?
Команда EXIT – завершить работу командного процессора или текущего командного файла. Команда EXIT используется для завершения пакетных файлов с установкой значения переменной ERRORLEVEL или для завершения командного процессора CMD. EXE ( для выхода из командной строки), если она выполняется вне пакетного файла.
Как выйти из консоли?
Для того, чтобы выйти из полноэкранного режима консоли линукс в который можно попасть по сочетанию клавиш CTRL+ALT+F1 (всего в Ubuntu есть семь терминалов, один из которых графический, а остальные текстовые), нужно использовать комбинацию клавиш CTRL+ALT+F7.
Как завершить команду в консоли?
Если команда выполняется на переднем плане и вы хотите из неё выйти, можете нажать клавиши Ctrl + C для того, чтобы её остановить.
Источник: querybase.ru