每次我必须多次启动一个带有不同参数的可执行文件,我需要找回每个参数的进程ID。
我有使用过的命令行,我需要使用此命令启动进程的进程ID。
在此处提出其他问题之后,我发现了这一点:
Get-CimInstance Win32_Process -Filter "name = 'evolution4.exe'" | select CommandLine
这可以为我启动进程的命令行使用命令,但我现在需要对CommandLine进行过滤,而不是对名称进行过滤,并选择PID。
我尝试更换" name" by" commandLine"或" CommandLine"没有结果,我甚至不知道这是否是正确的方法。我应该把什么放在我的过滤器中?是否可以通过命令行而不是名称或pid来过滤此命令?
编辑:似乎我的问题更多的是在过滤器的字符串中给出一个路径而不是参数似乎是" commandLine"就像我一样。
答案 0 :(得分:1)
没关系:答案很简单
路径必须设置为双' \'。
导致:
Get-CimInstance Win32_Process -Filter "commandLine = 'C:\\Windows\\Explorer.exe'" | Select ProcessId
答案 1 :(得分:1)
如果这是一个简单的“过程”,那么你不需要深入挖掘。您可以直接从get-process
:
Get-Process -Name explorer | select ID
在evolution4.exe的情况下,只需检查进程名称:
Get-Process -Name evolution4 | select ID