Time 批处理:尝试获取以特定秒数执行的命令
它可以工作数小时,在循环中运行,只要达到13小时就可以执行Time 批处理:尝试获取以特定秒数执行的命令,time,batch-file,command,timed,Time,Batch File,Command,Timed,它可以工作数小时,在循环中运行,只要达到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:~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或类似的时间执行。偏移量需要是6而不是5
%time:~6,2%
它不必很复杂。这是可行的,但是除非你提供更多关于你想要完成的事情的细节,否则我们无法提供最好的帮助
:time
echo %time%
IF %time:~6,2% equ 13 goto success
goto time
请注意,使用time
环境变量是特定于用户区域设置的
使用类似于for no locale格式的时间
wmic path win32_operatingsystem get LocalDateTime
将5改为6仍然不能使命令执行。好的,在几秒钟内,它基本上是拾取并选择wen停止,似乎即使在0的编辑下,如果设置为0,它似乎只是飞过去了,并最终表示缺少操作。我发现我现在可能在什么地方出错了。