如何从脚本中关闭其他 PowerShell windows

How to close other PowerShell windows from script

我有一个包含以下步骤的 PowerShell 脚本:

  1. 打开另一个 PowerShell window
  2. 导航到 angular 项目目录
  3. 运行命令为项目提供服务

有没有一种方法可以关闭所有其他 运行 PowerShell windows,但保持当前 运行 脚本和新创建的 window 打开?更改后,我希望它表现得像这样:

  1. 关闭所有其他 PowerShell windows
  2. 打开另一个 PowerShell window
  3. 导航到 angular 项目目录
  4. 运行命令为项目提供服务

Is there a way that I can close all other running PowerShell windows, but keep the currently running script and it's newly created window open?

$Previous = Get-process -Name *Powershell*;

{YOUR SCRIPT}

Stop-process $previous

您可以使用 Get-Process 枚举所有 运行 powershell 进程,然后通过与 $PID 的值进行比较来过滤掉当前进程,然后将其余进程传送到 [=14] =]:

Get-Process powershell |? Id -ne $PID |Stop-Process -Force

如有必要,您可以通过 ID 包含子进程:

$childProcess = Start-Process powershell $childProcArgs -PassThru
Get-Process powershell |? Id -notin @($PID;$childProcess.Id) |Stop-Process -Force

...尽管我建议先杀死所有其他 powershell 实例 ,然后在

之后启动子进程