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

[其他] [已解决]批处理循环怎样每隔5秒钟输出一个“5秒”字样

1、怎么编写一个循环,每隔5秒钟输出一个“已经过了5秒”字样,并一直进行下去?
2、怎样编写一个循环,没隔5秒输出一个随机数,知道随机数等于1024?

请高手朋友们帮忙看看。

[ 本帖最后由 liuchong.net 于 2009-9-22 21:48 编辑 ]
1

评分人数

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

回复 1楼 的帖子

1、
  1. @echo off
  2. :lp
  3. echo 已经过了5秒!
  4. ping 127.1 -n 6 >nul
  5. goto lp
复制代码
2、
  1. @echo off
  2. :lp
  3. ping 127.1 -n 6 >nul
  4. set /a n=%random%
  5. echo %n%
  6. if %n%==1024 (goto next) else goto lp
  7. :next
  8. echo 随机数是1024!
  9. pause
复制代码
(*^_^*)

TOP

回复 2楼 的帖子

你用ping的只是一个估计值吧,LZ要求的是精确的每5秒执行一次。
Still with wax

TOP

来个死方法:
1.
  1. @echo off
  2. echo Loop Started!
  3. :again
  4. set t=%time:~0,-3%
  5. set s=%t:~-2%
  6. if %s% equ 0 set s=%s:~-1%
  7. set /a s=s+5
  8. if %s% gtr 59 set /a s=s-60
  9. :com
  10. set t=%time:~-5,2%
  11. set t1=%t:~0,1%
  12. if %t1% equ 0 set /a t=%t:~-1%
  13. if %s% equ %t% (echo 5 seconds has passed!) else goto com
  14. goto again
复制代码
2.
  1. @echo off
  2. echo Loop Started!
  3. :again
  4. set t=%time:~0,-3%
  5. set s=%t:~-2%
  6. if %s% equ 0 set s=%s:~-1%
  7. set /a s=s+5
  8. if %s% gtr 59 set /a s=s-60
  9. :com
  10. set t=%time:~-5,2%
  11. set t1=%t:~0,1%
  12. if %t1% equ 0 set /a t=%t:~-1%
  13. if %s% equ %t% (echo %random%&(if %random% equ 1024 goto next)) else goto com
  14. goto again
  15. :next
  16. echo Random number is 1024!&pause
复制代码
Still with wax

TOP

  1. @echo off
  2. :lp
  3. echo 已经过了5秒!
  4. ping 1 -t -n 6 -w 1000 >nul
  5. goto lp
复制代码

TOP

很不粗,马上进行研究,谢谢各位!

TOP

返回列表