【发布时间】:2012-08-31 07:05:43
【问题描述】:
我在此线程的帮助下获得了特定进程的编号:
How to count amount of processes with identical name currently running, using a batchfile
我希望将这个命令的结果赋值给一个变量,然后将变量与一个数字进行比较。我的代码如下:
@echo off
setlocal enabledelayedexpansion
set procName=chrome.exe
set a=tasklist /FI "IMAGENAME eq %procName%" 2>NUL | find /I /C "%procName%"
if !a! equ 1 (
echo !a!
echo %procName% starts to run...
) else (
echo !a!
echo %procName% has not run!
)
这里我得到了“0” 'set a=tasklist /FI "IMAGENAME eq %procName%" 2>NUL |查找 /I /C "%procName%"' 命令。 它还为我提供了“回声!a!”的“回声关闭”提示。
仅供参考,在 cmd 中运行以下命令时
tasklist /FI "IMAGENAME eq chrome.exe" 2>NUL |寻找 /c /i "chrome.exe"
set a=tasklist /FI "IMAGENAME eq chrome.exe" 2>NUL |查找 /c /i "chrome.exe"
输出分别为 16 和 0。
这是什么原因?如何将命令的结果分配给变量?如何将变量与数字进行比较?
非常感谢!
【问题讨论】:
标签: batch-file variable-assignment