我在搜索网站后尝试使用命令构建批处理文件。我试图找到正在运行的进程的数量/计数,然后使用if执行另一个命令,如果在任何情况下此类进程的数量都超过5个。
当我在CMD提示符中逐行运行语句时,它可以正常工作 但是,当我通过一个bat文件运行它时,它会给出一个错误 - 这个时候是意外的。
这是脚本。此外,我不确定是否使用了正确的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进行比较。
答案 0 :(得分: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
)