标题: [数值计算] 求助批处理倒计时出现延迟如何解决? [打印本页]
作者: ygqiang 时间: 2016-7-7 15:42 标题: 求助批处理倒计时出现延迟如何解决?
本帖最后由 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、然后实时显示:剩余的倒计时时间- @echo off & setlocal enabledelayedexpansion
- cls
- set /p t=倒计时间隔(比如1小时5分钟,输入格式:1-05)
- set /a "t=%t:-=*3600+(1%-100)*60"
-
- set r=%t%
- echo 倒计时所需的秒数
-
- for /l %%i in (%t%,-1,0) do (
- cls
- set /a m=r/60
- set /a s=r%%60
- set m=00!m!
- set s=00!s!
- echo 倒计时进行中:[!m:~-2!分!s:~-2!秒]
- set /a r-=1
- ping 0 -n 2 >nul
- )
-
- echo 倒计时时间到!
- cls
- echo,运行某个程序
- pause
复制代码
作者: flyinnet9 时间: 2016-7-7 17:00
- @echo off
- set /p t=倒计时间隔(比如1小时5分钟,输入格式:1-05)
- for /f "tokens=1-2 delims=-" %%a in ("%t%") do (
- set /a h=%%a,m=1%%b-100
- )
- set /a s=h*3600+m*60
- cls
- echo.倒计时...
- timeout /nobreak /t %s%
复制代码
作者: ygqiang 时间: 2016-7-7 17:04
问题解决。。- @echo off & setlocal enabledelayedexpansion
-
- cls
-
- set/p 延时=输入延时分钟数,然后回车(比如1小时15分钟,输入75):
- set/a 延时=延时*1000*60
- echo wscript.sleep %延时%>sleep.vbs
-
- echo 正在进行倒计时...
- start /wait sleep.vbs
-
- echo 倒计时时间到!
- cls
-
- echo,运行某个程序
复制代码
作者: ygqiang 时间: 2016-7-7 19:25
本帖最后由 ygqiang 于 2016-7-7 19:41 编辑
回复 2# flyinnet9
timeout
xp系统下没有这个命令啊?
作者: flyinnet9 时间: 2016-7-8 09:42
回复 4# ygqiang
2000年的xp,都16了,会生娃了,
喜欢养成的随便领养win7、win8、win10,养到16也可
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |