2

Я хотел бы закрыть все открытые окна (из программ, проводника и т.д.) С помощью CMD. Самый простой способ, который я нашел, это не использование CMD, а выполнение этих двух команд powershell:

(New-Object -comObject Shell.Application).Windows() | foreach-object {$_.quit()}

Get-Process | Where-Object {$_.MainWindowTitle -ne ""} | stop-process

Который работает довольно хорошо, но я не знаю, как выполнить их прямо из CMD. Я попробовал приведенные ниже команды, используя powershell -noexit для выполнения команд powershell и ^ чтобы игнорировать некоторые функции cmd, но это не работает:

powershell -noexit "(New-Object -comObject Shell.Application^).Windows(^) ^| foreach-object {$_.quit(^)}"

powershell -noexit "Get-Process ^| Where-Object {$_.MainWindowTitle -ne ""} ^| stop-process"

И я не хочу использовать команду taskkill или создавать файл .ps1 и выполнять его, используя также start .ps1 .

1 ответ1

2

Решено PetSerAl.

powershell -command "(New-Object -comObject Shell.Application).Windows() | foreach-object {$_.quit()}; Get-Process | Where-Object {$_.MainWindowTitle -ne \"\"} | stop-process"

Обратите внимание, что Stop-Process фактически завершит весь процесс.

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