Закрыть программы из командной строки (windows)
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
чтобы предложить пользователю сохранить документы.
Инструмент, который делает это правильно @Kill
. Смотрите также SendMsg .
Я не знаю, как сделать это в пакетном режиме, но вы могли бы использовать 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 "{ENTER}"
WshShell.SendKeys "Bar"
WshShell.SendKeys "{ENTER}"
WshShell.SendKeys "{CAPSLOCK}"
WshShell.SendKeys "baz"
WshShell.SendKeys "%{F4}"
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)
Source
Есть ли способ привлечь внимание к конкретному приложению ( chrome.exe )?
Here
в примере.
Я хочу отправить 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 "%{F4}"
Как закрыть окно командной строки после запуска пакетного файла?
у меня есть пакетный файл. После его завершения, т. е. все командные строки были выполнены,cmd.exe окно остается открытым. Тем не менее, я хотел бы закрыть его сразу после завершения работы пакетного файла.
до сих пор я пробовал использовать exit
команда в пакетном файле, чтобы закрыть окно cmd (у меня также есть ярлык на рабочем столе), но она, похоже, не работает:
tncserver.exe C:Work -p4 -b57600 -r -cFE -tTNC426B
exit
Как закрыть проводник windows из cmd
Не из пакетного файла, если вы не хотите писать собственное приложение командной строки, которое открывает окно проводника Windows, и (это ключевая часть) каким-то образом знает дескриптор окна этого окна проводника, поэтому он может публиковать WM_CLOSE
, который в основном имитирует кого-то, закрывающего это окно.
Как бы вы определили “все окна проводника, которые были открыты”, было бы то, что вместо того, чтобы просто запускать экземпляры explorer.exe
из командной строки, вы сделали бы это из своего собственного приложения.
Я думаю, что определение дескриптора окна (HWND
в терминах win32 api) и публикация закрытого сообщения было бы лучше, чем попытка отслеживать обработчики процессов и завершать экземпляры проводника, поскольку это может вызвать некоторые побочные эффекты, помимо тех, которые вы ‘d want.
Как закрыть программу из командной строки
Большинство компьютерных программ закрывается вполне традиционно – выбором в меню опции Exit (Quit) или нажатием крестика в верхнем правом углу окна программы. Но иногда возникает необходимость закрыть программу или «убить» какой-то процесс из командной строки.
Инструкция
5
Второй, более простой способ, связан с использованием идентификатора процесса. Например, процесс notepad.exe имеет PID 4024 (у вас он, скорее всего, будет другим). Для закрытия программы наберите в командной строке: taskkill /pid 4024, нажмите Enter. Процесс 4024, соответствующий текстовому редактору, будет «убит», «Блокнот» закроется. Подобным образом можно завершать большинство процессов, исключая критически важные системные – их операционная система завершить не позволит.
Как открыть и закрыть окно проводника из командной строки?
Есть компьютер не в домене, у него как сетевой диск подключена папка DFS, но открываются только те папки, которые размещены на сервере, где поднят DFS, остальные папки открываются только после первого обращения к ним через проводник.
Была мысль прикрутить батник, который будет обращаться к этим компьютерам, но c
powershell cd \srvshare
не прокатило, на тестовом компьютере получилось, на конкретном нет, только через
explorer \srvshare
но тогда каждый раз при включении компьютера будут несколько окон, что будет здорово раздражать со временем, как закрыть открытые окна explorer?
Как скрыть исполнение файла cmd или bat | белые окошки
Если вам уже доводилось иметь дело со скриптами CMD или BAT, то наверняка вы заметили в их работе одну особенность: в процессе исполнения скрипта на экране компьютера появляется чёрное окошко командной строки. В этом нет ничего необычного, просто иногда вид этого чёрного прямоугольника действуют раздражающе.
Вы можете скрыть вывод выполняемых в консоли команд, добавив в начало файла CMD или BAT строчку @echo off, но чтобы сделать невидимым окно самой командной строки, потребуется нечто иное.
Решение очень простое. Чтобы скрыть исполнение CMD- или BAT-файла, мы прибегнем к помощи другого скрипта, написанного на языке Visual Basic Script.
Откройте Блокнот, Notepad или другой текстовый редактор, скопируйте и вставьте в него следующий код:
Set WshShell = CreateObject("WScript.Shell") WshShell.Run chr(34) & "C:script.cmd" & Chr(34), 0 Set WshShell = Nothing
В данном примере путь к файлу командной строки выглядит как C:script.cmd, у вас же он может быть другим. Сохраните файл, дав ему произвольное имя и обязательное расширение VBS. Обратите внимание — кавычки в коде должны быть прямыми, иначе при запуске скрипта получите ошибку.
Когда вам нужно будет выполнить файл командной строки, запустите VBS-скрипт, а он в свою очередь запустит ваш «батник», который выполнится в скрытом режиме. Столь раздражающего вас чёрного окна командной строки вы больше не увидите.
Наверное, кто-то из наших читателей спросит: а для чего все эти сложности? Неужели то, что делает файл CMD, не может сделать VBS? Может, просто язык Visual Basic Script знают весьма немногие, а с командной строкой более или менее хорошо знакомы все, кто считает себя продвинутым пользователем.
Решение
Чтобы скрыть исполнение CMD- или BAT-файла, мы прибегнем к помощи другого скрипта, написанного на языке Visual Basic Script.
Откройте Блокнот, Notepad или другой текстовый редактор, скопируйте и вставьте в него следующий код: