0

我正在编写一个批处理文件来确定某些程序当前是否正在运行。到目前为止,这是我的代码:

for %%x in ("notepad++.exe" "eclipse.exe") do ( 
tasklist /FI "IMAGENAME eq %%x" | find /I /C %%x
)

我想要做的是将“任务列表”行的结果(应该是一个大于或等于 0 的数字)存储在一个变量中。

我想我真的在问:是否可以捕获此输出?如果是的话,怎么做?

4

1 回答 1

1

FOR /F

for %%x in ("notepad++.exe" "eclipse.exe") do ( 
  for /f %%c in ('tasklist /FI "IMAGENAME eq %%x" ^| find /I /C %%x') do echo %%c
)

将要捕获其输出的命令放在单引号内,并使用 shell 转义字符转义 shell 中具有特殊含义的任何字符,例如管道^

使用时不要忘记查看FOR /?其他选项FOR /F

于 2013-07-11T21:15:31.113 回答