如果我手动执行以下.bat,则它的工作效果很好,但是如果Windows Task Manager在相同条件下执行,它将触发calc.exe,这是错误的。
有什么想法吗?
@ECHO OFF
:B
tasklist | find "1.exe" > C:\Users\1.txt
setlocal enabledelayedexpansion
for /f "tokens=5" %%a in (1.txt) do (
set num=%%a
set num=!num:.=!
)
if !num! leq 150000 (goto :startscripts)
GOTO Exit
:StartScripts
start calc.exe
:Exit
这是1.txt:
1.exe 4588控制台2 191,160 K
答案 0 :(得分:0)
似乎您可以完全不写文件来简化代码。只需解析命令的输出即可。
@ECHO OFF
set "num="
for /f "tokens=5 delims= " %%a in ('tasklist ^| find "1.exe"') do set num=%%a
IF DEFINED num if %num:,=% leq 150000 start calc.exe