我有下面的.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
发布于 2018-08-28 06:15:04
看起来你可以通过根本不写文件来简化你的代码。只需解析命令的输出。
@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
https://stackoverflow.com/questions/52046808
复制相似问题