用法
第一步:打开 Power Shell
第二步:复制粘贴以下命令:
Get-Process | Where-Object {
$_.MainWindowTitle -ne "" -and
$_.Id -ne $PID -and
$_.ProcessName -ne "explorer"
} | Stop-Process -Force
完事
逐行讲解
第一行:告诉系统要找符合条件的进程。
Get-Process
该命令会获取当前系统上所有正在运行的进程。它返回一个进程对象列表,每个对象代表一个运行中的进程。
|
|
名为管道操作符,用于将前一个命令的输出传递给下一个命令作为输入。在这里,Get-Process 的输出被传递给 Where-Object。
Where-Object { ... }
Where-Object 用于对输入的进程列表进行过滤。后面的花括号 { ... } 中包含条件表达式,只有符合条件的进程会被保留下来。
花括号内(筛选要退出的程序)的条件:有主窗口标题、不包含 Powershell、不包含资源管理器。
$_.MainWindowTitle -ne ""
$_
代表当前管道中的对象(在这里是每个进程对象)。MainWindowTitle 是进程对象的一个属性,表示进程的主窗口标题。这个条件检查进程是否有一个非空的主窗口标题(即该进程是否在窗口中显示)。-ne
是“不等于”的运算符,这里用于排除那些没有窗口标题的后台进程。
-and $_.Id -ne $PID
$_.Id
是进程的 ID,$PID
是当前 PowerShell 脚本的进程 ID。这个条件确保不会终止当前运行该脚本的 PowerShell 进程本身,避免脚本将自身关闭。
-and $_.ProcessName -ne "explorer"
• ProcessName 是进程对象的另一个属性,表示进程的名称。此条件用于排除文件资源管理器(即 explorer),以防止意外关闭系统的文件资源管理器。
| Stop-Process -Force
经过筛选的进程列表被传递给 Stop-Process -Force
命令,强制终止这些进程。-Force
参数用于强制关闭,即便某些进程可能有关闭确认或阻止强制退出的机制。
-utgd-