所以我需要编写一个批处理脚本来启动可执行文件并在可执行文件完成后立即退出脚本(所以没有 ip ping 等待脚本),但如果可执行文件仍在运行,则会在 30 分钟后自动终止 exe 并退出脚本(挂起,没有响应等)
这是我到目前为止所拥有的。find 语句正确输出匹配的进程数,但我的问题是 ERRORLEVEL 始终返回 0,无论是否有匹配的可执行文件正在运行。
我对批处理脚本相当陌生,所以很可能我忽略了一些非常简单的事情。
@echo off
start calc.exe
REM loop 600 times, each loop being 3 seconds (30 minutes total)
FOR /L %%A IN (1,1,600) DO (
REM find the running executable
tasklist | find /I /C "calc.exe" > nul
echo %ERRORLEVEL%
Rem exit the script if no executable is found (i.e it has run successfully)
if %ERRORLEVEL% eq 1 EXIT
Rem pause for 3 seconds
ping 1.1.1.1 -n 1 -w 3000 > nul
)
REM kill executable if we haven't exited yet
taskkill /f /im calc.exe
提前致谢!