这可以持续数小时,一旦执行到 13 小时,就会在循环中运行。
@ECHO OFF
:time
echo %time%
FOR /f "tokens=1*delims=0" %%a IN ("$0%time:~0,2%") DO SET /a HH=%%b
IF %HH% equ 13 goto success
goto time
:success
echo success finally
pause
goto time
但是如果我在循环中运行它几秒钟以使其在 13 秒时执行,它只会继续循环运行并且不执行命令。
@ECHO OFF
:time
echo %time%
FOR /f "tokens=1*delims=0" %%a IN ("$0%time:~5,2%") DO SET /a SS=%%b
IF %SS% equ 13 goto success
goto time
:success
echo success finally
pause
goto time
这也不起作用
FOR /f "tokens=1*delims=0" %%a IN ("$0%time:~6,2%") DO SET /a SS=%%b
我需要它在任何指定的秒数内执行。因此,而不是例如在 13:00:00.00 执行。我可以让它在 13:00:13.00 或类似的时间执行。