首页 > 解决方案 > 获取所有进程 PID 并将它们作为参数传递给 program.exe

问题描述

我想枚举内存中的每个进程,获取它的 PID,并将它们program.exe作为参数传递给它们。

我正在进入球场:

Get-Process | ForEach-Object {Start-Process "powershell" ./myprogram.exe -command $_.ID}

但是,这是不正确的,因为我收到了错误:

找不到与参数名称“命令”匹配的参数

标签: powershell

解决方案


你的电话Start-Process没有意义。似乎您正在尝试同时启动 PowerShell 和另一个 .exe,或者其他一些奇怪的操作。

如果您尝试启动.\myprogram.exe并将 ID 作为参数传递给它,那么您需要像这样调用它:

Start-Process -FilePath ".\myprogram.exe" -ArgumentList $_.ID

对 PowerShell 的引用-Command不是必需的。

正如@Tomek 指出的那样,您可能需要为目标 .exe 本身包含一些其他参数,如下所示:

Start-Process -FilePath ".\myprogram.exe" -ArgumentList "-PID $($_.ID)"

推荐阅读