使用Powershell在一个行字符串中获取正在运行的进程'完整命令行

时间:2017-07-12 18:34:07

标签: powershell win32-process get-wmiobject

我正在尝试找到一种方法来在一个字符串中获取进程的完整命令行,以检测java应用程序是否已在运行。该程序允许多个实例,但我想阻止打开多个实例。该命令的输出添加了4个我想要删除的返回车厢。这是我使用的: $processRunning = Get-WmiObject Win32_Process -Filter "name= 'javaw.exe'" | select -ExpandProperty CommandLine

我遇到的问题是上面的行添加了返回支架,因为命令行很长。 我尝试使用Format-Table和Format-List进行不同的格式化。 我还尝试了 -replace "`r", "" | Out-String -Width 2048

我想像这样匹配结果: $startProcess = ([wmiclass]"win32_process").Create($processToStart) if ($processRunning -like $commandLine ) { Write-Output "Program is already running"
} else { Write-Output "Starting Process" $startProcess Wait-Process -Id $startProcess.ProcessId }

Wait-Process 命令不起作用,因为显然 $startProcess.ProcessId 为空或为空。

谢谢

0 个答案:

没有答案