【发布时间】:2015-06-02 12:08:28
【问题描述】:
我正在尝试编写 一行 cmd 命令:
- 使用 PID 过滤器执行
tasklist - 迭代输出
- 如果找到 PID 就做点什么
- 如果找不到 PID,请执行其他操作
所以我已经阅读了How to extract a specific field from output of tasklist on the windows command line 并使用了这个answer 来构造这个命令:
for /f "tokens=2 delims=," %F in ('tasklist /nh /fi "PID eq 5284" /fo csv') do if %F NEQ "5284" (@echo no) else (@echo yes)
我没有得到预期的结果。很可能语法错误。
【问题讨论】:
-
只有当 PID 5284 存在时才会执行循环的命令。试试这个:
(for /f "tokens=2 delims=," %F in ('tasklist /nh /fo csv /fi "PID eq 5284"') do @echo yes) || @echo no. -
@eryksun 太好了。发布答案,我会接受。 10x