Board logo

标题: [日期时间] [已解决]批处理制作倒计时怎样把秒转换成分钟或小时? [打印本页]

作者: yxf223344    时间: 2015-4-21 18:23     标题: [已解决]批处理制作倒计时怎样把秒转换成分钟或小时?

本帖最后由 yxf223344 于 2015-4-22 09:29 编辑

如题:关于用批处理制作倒计时
  1. @echo off
  2. for /l %%i in (60,-1,0) do (
  3. cls
  4. echo %%i秒倒计时
  5. ping 127.1 -n 2 >nul
  6. )
复制代码
上面是倒计时60秒,在屏幕上显示也是从60秒开始倒计时。如果想实现倒计时10分钟的话就要把60改成6000,
但是屏幕上显示的不是10分钟而是6000秒,有没有方法可以实现屏幕上直接显示分钟或小时呢?
作者: pcl_test    时间: 2015-4-21 20:27

本帖最后由 pcl_test 于 2015-4-21 22:20 编辑
  1. @echo off & setlocal enabledelayedexpansion
  2. set /p t=输入倒计时所需的时分秒(h:m:s)
  3. for /f "tokens=1-3 delims=:" %%a in ("%t%") do set "a=%%a" & set "b=%%b" & set "c=%%c"
  4. if %a:~,1% equ 0 if "%a:~1,1%" neq "" set "a=%a:~1%"
  5. if %b:~,1% equ 0 if "%b:~1,1%" neq "" set "b=%b:~1%"
  6. if %c:~,1% equ 0 if "%c:~1,1%" neq "" set "c=%c:~1%"
  7. set /a t=%a%*3600+%b%*60+%c%
  8. for /l %%i in (%t%,-1,1) do (
  9. cls
  10. set /a h=t/3600
  11. set /a m=t%%3600/60
  12. set /a s=t%%60
  13. set h=00!h!
  14. set m=00!m!
  15. set s=00!s!
  16. echo 倒计时[!h:~-2!:!m:~-2!:!s:~-2!]
  17. set /a t-=1
  18. ping 0 -n 2 >nul
  19. )
  20. exit
复制代码

作者: yxf223344    时间: 2015-4-22 09:30

谢谢大神。。。完美的解决了我的问题。。




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2