如何使用一个 CMD 命令关闭除一个应用程序之外的所有打开的窗口,

如何使用一个 CMD 命令关闭除一个应用程序之外的所有打开的窗口,

一个 CMD 命令想要关闭所有打开的窗口,但没有关闭特定的窗口。

我在 superuser.com 上搜索,并从 PetSerAl 那里得到了这个很棒的命令

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

上述命令关闭所有打开的窗口,但我需要关闭除一个窗口之外的所有窗口。

谢谢

答案1

您可以在命令本身中使用相同的语法。如果您仔细研究它,它会显示类似“关闭除标题为空的进程之外的所有进程”的内容

因此,您可以简单地添加 AND 条件,表示在标题为空且标题是您想要保持打开的进程时不关闭。如果标题不固定且会发生变化(例如,编辑器的窗口会随着当时打开的文件的名称而变化),您可以更改选中的属性,而不是检查 MainWindowTitle 中的 ProcessName。

使用窗口标题如下:

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

使用进程名称如下:

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

相关内容