首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >批量TASKLIST到变量

批量TASKLIST到变量
EN

Stack Overflow用户
提问于 2017-09-18 11:13:47
回答 1查看 2K关注 0票数 1

我想找到一个应用程序是否是打开的,并得到它的PID。为此,我用,

代码语言:javascript
复制
wmic process where name="notepad.exe" get ProcessId

如果有两个,notepad.exe的是打开的,它显示了2个PID的,我想要taskkill一个,如果2个是打开的。我该怎么做呢。如何检查一次是否有两个相同命名的进程(具有特定名称)打开?有办法将tasklist存储在列表中吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-18 11:46:18

我想这就是你想要的:

代码语言:javascript
复制
@ECHO OFF
SETLOCAL EnableDelayedExpansion
SET /A I=0
SET PIDS=
FOR /F "tokens=*" %%G IN ('wmic process where name^="notepad.exe" get ProcessId ^| FINDSTR /v ProcessId ^| FINDSTR /r /v "^$"') DO (
    SET /A I=I+1
    SET PIDS=!PIDS!%%G,
    SET PIDS=!PIDS: =!
)
SET PIDS=!PIDS:~1,-1!
ECHO Found %I% processes
ECHO PIDs: %PIDS%

它将输出进程计数和PID作为逗号分隔的列表。如果我在chrome.exe上运行它,下面是输出

代码语言:javascript
复制
C:\tmp>q46277950.bat
Found 12 processes
PIDs: 1696,5668,11644,4240,1624,4284,15076,15236,2816,11388,5652,5840
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46277950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档