我正在尝试创建一个倒数计时器,该计时器采用min
:sec
格式,该格式使用从文本文档中获取的变量并将其用作完成时间并使用当前时间(时间为.bat
已启动)作为开始时间。
目前我有这个代码可以工作并从文本文档中获取时间,但我似乎无法弄清楚如何使用它来工作。
代码:
@echo off
set CurrentTime=%time:~0,2%.%time:~3,2%
set /p StartTime=<"ResponseTime.txt"
echo.
echo %CurrentTime% %StartTIme%
echo.
答案 0 :(得分:3)
@echo off
setlocal
rem Get end time
REM for /F "tokens=1,2 delims=:" %%a in ("ResponseTime.txt") do set /A endH=10%%a%%100, endM=1%%b%%100
REM Just for testing:
set endH=14
set endM=58
title Timer
mode con cols=16 lines=2
:synchronize
for /F "tokens=1,2 delims=:" %%a in ("%time%") do set /A "minutes=(endH*60+endM)-(%%a*60+1%%b-100)-1, seconds=159"
:wait
timeout /T 1 /NOBREAK > NUL
echo Timer: %minutes%:%seconds:~-2%
set /A seconds-=1
if %seconds% geq 100 goto wait
set /A minutes-=1, seconds=159, minMOD5=minutes %% 5
if %minutes% lss 0 goto :buzz
if %minMOD5% equ 0 goto synchronize
goto wait
:buzz
pause
答案 1 :(得分:1)
我要做的是创建一个timeout
函数,例如timeout /t xx
,其中xx等于以秒为单位的时间。如果那就是你要找的东西。
您也可以执行timeout /t xx >nul
,这样就不会显示一条消息,说明您还剩多少秒。如果这是你想要的,那么使用我展示的第一个。我希望这有帮助
答案 2 :(得分:0)