从windows的命令行输出中获取特定的单词

我正在尝试获取当前正在运行的进程的进程ID。 我已经给出了查询,并使用wmic命令过滤了特定的进程。 但我无法单独获取进程ID。

有没有办法单独获得进程ID?

我的输出

input: wmic process where caption="tomcat6.exe" get commandline,processid | find "GxTomcatInstance" wmic process where caption="tomcat6.exe" get commandline,processid | find "GxTomcatInstance"

输出:“C:\ Program Files \ Apache \ bin \ tomcat6.exe”// RS // GxTomcatInstance001 5260

我得到了processID和commandline,但我只需要进程ID。 有没有办法做到这一点?

一般要得到一个命令的输出,使用for /f命令。

语法有点棘手,尤其是当wmic上船的时候,但是这样做应该是这样的:

 for /f "tokens=3 delims=," %%i in ('wmic process where caption^="tomcat6.exe" get commandline^,processid /format:csv ^|find "GxTomcatInstance" ') do set /a pid=%%i 

你在问命令行。

wmic进程,其中caption =“tomcat6.exe”得到命令行 ,processid | 找