0

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

我遇到的问题是上面的行添加了回车,因为命令行很长。我尝试使用 Format-Table 和 Format-List 对其进行不同的格式化。我也试过-replace "`r", ""and | 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为空或 null。

谢谢

4

0 回答 0