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

[数值计算] 求助批处理倒计时出现延迟如何解决?

本帖最后由 pcl_test 于 2016-7-7 19:39 编辑

批处理倒计时问题。如果设置1小时以上,最终会延迟30分钟左右。
比如输入1-20,实际延迟时间会延迟30分钟左右。这是啥原因。

1、每次都先输入倒计时间隔。比如输入0-20,就是倒计时20分钟。输入2-08,就是倒计时2小时8分钟
类似0-20,2-08,这种格式。xx-aa,xx是小时、aa是分钟。
2、然后实时显示:剩余的倒计时时间
  1. @echo off & setlocal enabledelayedexpansion
  2. cls
  3. set /p t=倒计时间隔(比如1小时5分钟,输入格式:1-05)
  4. set /a "t=%t:-=*3600+(1%-100)*60"
  5. set r=%t%
  6. echo 倒计时所需的秒数
  7. for /l %%i in (%t%,-1,0) do (
  8. cls
  9. set /a m=r/60
  10. set /a s=r%%60
  11. set m=00!m!
  12. set s=00!s!
  13. echo 倒计时进行中:[!m:~-2!分!s:~-2!秒]
  14. set /a r-=1
  15. ping 0 -n 2 >nul
  16. )
  17. echo 倒计时时间到!
  18. cls
  19. echo,运行某个程序
  20. pause
复制代码

  1. @echo off
  2. set /p t=倒计时间隔(比如1小时5分钟,输入格式:1-05)
  3. for /f "tokens=1-2 delims=-" %%a in ("%t%") do (
  4.   set /a h=%%a,m=1%%b-100
  5. )
  6. set /a s=h*3600+m*60
  7. cls
  8. echo.倒计时...
  9. timeout /nobreak /t %s%
复制代码

TOP

问题解决。。
  1. @echo off & setlocal enabledelayedexpansion
  2. cls
  3. set/p 延时=输入延时分钟数,然后回车(比如1小时15分钟,输入75):
  4. set/a 延时=延时*1000*60
  5. echo wscript.sleep %延时%>sleep.vbs
  6. echo 正在进行倒计时...
  7. start /wait sleep.vbs
  8. echo 倒计时时间到!
  9. cls
  10. echo,运行某个程序
复制代码

TOP

本帖最后由 ygqiang 于 2016-7-7 19:41 编辑

回复 2# flyinnet9

    timeout

xp系统下没有这个命令啊?
1

评分人数

    • pcl_test: 指定回应某楼层的在相应楼层点回复,少引用PB -30

TOP

回复 4# ygqiang


    2000年的xp,都16了,会生娃了,

喜欢养成的随便领养win7、win8、win10,养到16也可

TOP

返回列表