如何在Windows批处理文件中的HH:29:55和HH:59:55处触发命令

时间:2019-09-17 06:56:15

标签: windows batch-file period periodicity

在Windows批处理文件(x.bat)中,当时间的第二部分大于55时,如何每30分钟触发一次命令?

我现在拥有的是:

:loop
    program.exe
    PING localhost -n 1800 >NUL
goto loop

问题在于计时不够精确,即sec> 55,最低为30%== 29。

1 个答案:

答案 0 :(得分:1)

如前所述,任务计划程序具有胜任这项任务的能力。它可以每天运行,从next hour:59:55

开始,每30分钟运行一次

也就是说,有一些方法可以编写这些脚本。这不是最可靠的解决方案,但可以。

@echo off
:start
for /f %%i in ('powershell Get-Date -Format mm:ss') do (
    if "%%i"=="29:55" program.exe
    if "%%i"=="59:55" program.exe
timeout 1 /nobreak>nul
)
goto start