如何从脚本关闭其他PowerShell窗口

iyr7buue  于 2022-11-10  发布在  Shell
关注(0)|答案(2)|浏览(260)

我有一个PowerShell脚本,它包含以下步骤:
1.打开另一个PowerShell窗口
1.导航到Angular 项目目录
1.运行服务于项目的命令
有没有一种方法可以关闭所有其他正在运行的PowerShell窗口,但保持当前正在运行的脚本及其新创建的窗口处于打开状态?在进行更改后,我希望它的行为如下:
1.关闭所有其他PowerShell窗口
1.打开另一个PowerShell窗口
1.导航到Angular 项目目录
1.运行服务于项目的命令

nbnkbykc

nbnkbykc1#

您可以使用Get-Process枚举所有正在运行的PowerShell进程,然后通过与$PID的值进行比较来筛选出当前进程,然后将其余进程通过管道传递给Stop-Process

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示例,然后再启动子进程

ahy6op9u

ahy6op9u2#

有没有一种方法可以关闭所有其他正在运行的PowerShell窗口,但保持当前正在运行的脚本及其新创建的窗口处于打开状态?

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

{YOUR SCRIPT}

Stop-process $previous

相关问题