我想枚举内存中的每个进程,获取其PID,并将它们作为参数传递给program.exe
。
我正在进入球场:
Get-Process | ForEach-Object {Start-Process "powershell" ./myprogram.exe -command $_.ID}
但是,由于收到错误,这是不正确的:
找不到与参数名称'command'匹配的参数
答案 0 :(得分:1)
您对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)"