.bat如果手动可以正常运行,但如果从Windows Task Manager中触发则可以触发

时间:2018-08-27 20:52:27

标签: batch-file

如果我手动执行以下.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

1 个答案:

答案 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