我正在使用这段代码在活动进程列表中运行循环,以按名称标识进程以更改优先级。
TIMEOUT /T 1
for /F "tokens=1,2" %%i in ('tasklist /FI "IMAGENAME eq java.exe" /fo table /nh') do set pid=%%j
echo %pid%
wmic process where processid=%pid% CALL setpriority 128
exit
我的问题是我有多个进程叫做#34; java.exe"但我希望他们都能受到我的代码的影响。我怎样才能做到这一点?
答案 0 :(得分:0)
for /F "tokens=1,2" %%i in ('tasklist /FI "IMAGENAME eq java.exe" /fo table /nh') do (
echo %%j
wmic process where processid=%%j CALL setpriority 128
)
(未测试的)
答案 1 :(得分:0)
此方法允许您使用变量pid
,但您需要使用延迟扩展。
SETLOCAL ENABLEDELAYEDEXPANSION
for /F "tokens=1,2" %%i in ('tasklist /FI "IMAGENAME eq java.exe" /fo table /nh') do set pid=%%j
echo !pid!
wmic process where processid=!pid! CALL setpriority 128
exit
setlocal
行允许cmd在运行时处理变量,而不是短语时间。
!
表示在运行时处理变量,而不是短语时间。