CMDを使用して、開いているすべてのウィンドウ(プログラム、Windowsエクスプローラーなど)を閉じます。私が見つけた最も簡単な方法は、CMDを使用せずに、次の2つの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
を使用して実行したりすることもしたくありません。
PetSerAl によって解決されます。
powershell -command "(New-Object -comObject Shell.Application).Windows() | foreach-object {$_.quit()}; Get-Process | Where-Object {$_.MainWindowTitle -ne \"\"} | stop-process"
Stop-Process
は実際にプロセス全体を終了します。