[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

本帖最后由 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秒,有没有方法可以实现屏幕上直接显示分钟或小时呢?
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

本帖最后由 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
复制代码
1

评分人数

TOP

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

TOP

返回列表