WMIC ProcessID 批处理
WMIC ProcessID Batch
我在批处理中使用 WMIC 来获取进程 ID。
如何在 WMIC 命令中使用 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")
我只使用参数名称得到一个进程。但问题是我有三个同名的进程。
这样试试:
@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 解析为变量。
我在批处理中使用 WMIC 来获取进程 ID。 如何在 WMIC 命令中使用 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")
我只使用参数名称得到一个进程。但问题是我有三个同名的进程。
这样试试:
@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 解析为变量。