0

搜索站点后,我尝试使用命令构建批处理文件。我正在尝试查找正在运行的进程的数量/计数,然后如果此类进程的数量在任何情况下都超过 5 个,则使用 if 执行另一个命令。

当我在 CMD 提示符下逐行运行语句时,它工作正常。
但是,当我通过一个 bat 文件运行它时,它会给出一个错误消息——此时 a 是意外的。

这是脚本。另外我不确定是否使用了正确的 If 语句(我在来找你之前确实搜索并使用过,但仍然只是以防万一):

for /f "tokens=1,*" %a in ('tasklist ^| find /I /C "iexplore.exe" ') do 
@set var=%a
echo %var%
if %var% <= 5
::echo "hi"
::end if

此外,还有一种语法可以做到这一点:

wmic process where name="iexplore.exe" | find "iexplore.exe" /c

但我不确定如何将此命令的输出分配给任何变量,然后继续将此命令的值与 5 进行比较。

4

1 回答 1

1

FOR在批处理文件中使用时,您需要使用 double % 作为命令。

@echo off
set var=0
for /f "tokens=1,*" %%a in ('tasklist ^| find /I /C "explorer.exe" ') do set var=%%a
echo %var%
if %var% leq 5 (
  echo less or equal to 5
) else (
  echo 5 or more
)
于 2012-08-20T11:39:56.153 回答