WMIC ProcessID批处理

时间:2017-12-13 09:13:46

标签: windows batch-file command-line process wmic

我在Batch中使用WMIC来获取进程ID。 如何在WMIC Command中使用CommandLine参数。

我已经尝试过这样的事情:

for /f "skip=1 tokens=*" %%i in ('wmic process where "name^="Example.exe" and CommandLine like '%Example%'" get ProcessId') do (echo attach %%i >> ".\my-script.txt")    

我只使用参数名称获得进程。但问题是我有三个同名的进程。

1 个答案:

答案 0 :(得分:1)

尝试这样:

@echo off

for /f "usebackq tokens=* delims=" %%a in (`wmic process where "name='Example.exe' and CommandLine like '%%Example%%'" get ProcessID /Format:value`) do (
    for /f "tokens=* delims=" %%z in ("%%a") do set "%%z"
)
echo %processid%

你需要加倍%否则它将被cmd.exe解析为变量。