我在寻找一段脚本,根据任务管理器中的CommandLine值获取一个Java进程的PID。这些Java进程的CommandLine值相似,但在CommandLine中有一个关键字不同。不能通过图像名称来识别进程,因为它们都有相同的java.exe。有没有办法?我已经放置了以下代码,基于npocmaka的答案。
@echo off
setlocal enableDelayedExpansion
set "command_line="%1""
set "command_line=!command_line:"=%%!"
echo ~~!command_line!~~
for /f "usebackq tokens=* delims=" %%# in (
`wmic process where 'CommandLine like "%command_line%"' get /format:value`
) do (
for /f %%$ in ("%%#") do (
set "%%$"
)
)
echo %ProcessId%
我在命令行中使用关键字来识别PID。但是当我执行这个脚本时,我得到了错误的PID。我猜测它返回的是脚本的PID,因为脚本也可能包含关键字。在执行脚本时,参数被视为关键字。
echo %%$
иҖҢдёҚжҳҜset %%$
жқҘжҹҘзңӢжңүеӨҡе°‘иҝӣзЁӢе°Ҷеә”з”ЁwmicжҹҘиҜўгҖӮ - npocmaka