Tasklist
将向您展示详细信息。
@ECHO OFF
SETLOCAL
SET "underline="
SET "mypid="
FOR /f "skip=2delims=" %%u IN ('tasklist/v') DO IF NOT DEFINED underline SET underline=%%u
FOR /f "delims=" %%u IN ('tasklist/v^|find /i "GPU Client"') DO IF NOT DEFINED mypid SET mypid=%%u
:loop
IF "%underline:~0,1%"=="=" SET underline=%underline:~1%&SET mypid=%mypid:~1%&GOTO loop
FOR %%u IN (%mypid%) DO IF DEFINED underline SET mypid=%%u&SET "underline="
echo Target process ID=%mypid%
GOTO :EOF
这应该让进程 ID 为TASKKILL
. 该字符串GPU Client
应替换为标识您希望终止的 java 进程的 uniwue 字符串,您应该能够tasklist
从提示的列表中派生该字符串。
tasklist /v
报告标题下出现的下划线长度根据当前运行的任务的最长名称的长度而有所不同,tasklist /v
因此下划线适用于行中的空格被找到。underline
mypid
=
这时候,mypid
任务名会被剪掉,所以它的第一个标记是 PID。