我在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")
我只使用参数名称获得进程。但问题是我有三个同名的进程。
答案 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解析为变量。