Board logo

标题: [系统相关] [已解决]批处理如何实现循环指定次数后就直接退出? [打印本页]

作者: ygqiang    时间: 2016-3-9 23:28     标题: [已解决]批处理如何实现循环指定次数后就直接退出?

[已解决]bat批处理,如何实现:循环计数5次以后,就直接exit退出。。。。
  1. @echo off
  2. :begin1
  3. xxx。。。此处为其他bat代码
  4. ping 127.0.0.1 -n 1200 >nul 2>nul
  5. goto :begin1
复制代码
搞定。。
  1. for /l %%a in (1,1,8) do (
  2. call :aaaaa
  3. ping 127.0.0.1 -n 10 >nul 2>nul
  4. )
  5. :aaaaa
  6. 其他代码。。。
  7. goto :eof
复制代码

作者: ivor    时间: 2016-3-9 23:35

回复 1# ygqiang

你这号是盗来的吧
  1. @echo off
  2. for /l %%a in (1,1,5) do (
  3. xxx。。。此处为其他bat代码
  4. ping 127.0.0.1 -n 1200 >nul 2>nul
  5. )
复制代码

作者: happy886rr    时间: 2016-3-10 00:01

本帖最后由 happy886rr 于 2016-3-10 00:11 编辑

在ping 下面加一行
  1. set /a n+=1 & if %n% equ 4 exit
复制代码
回复 1# ygqiang
作者: ygqiang    时间: 2016-3-10 00:23

回复 2# ivor 回复 3# happy886rr
  1. @echo on
  2. for /l %%a in (1,1,5) do (
  3. tasklist|find /i "kuaipan.exe" || goto :kuaipan1
  4. taskkill /f /t /im kuaipan.exe
  5. ping 127.0.0.1 -n 3 >nul 2>nul
  6. :kuaipan1
  7. set kptec="C:\Program Files (x86)\Kuaipan\Klive\kuaipan.exe"
  8. if exist %kptec% start "" %kptec%
  9. cls
  10. ping 127.0.0.1 -n 10 >nul 2>nul
  11. echo  222222222222222222222222
  12. )
  13. :next1
  14. echo  okokokokokokokokokokokokokokokok
  15. pause
  16. exit
复制代码
这个循环,为啥只停留了10秒,就直接继续执行netx1下面的代码了呢?

要求的效果是:循环5次,每次停留10秒。总共50秒。
作者: ygqiang    时间: 2016-3-10 07:03

回复 3# happy886rr
  1. @echo off
  2. :test
  3. call :aaaaa
  4. ping 127.0.0.1 -n 3 >nul 2>nul
  5. set /a n+=1 & if %n% equ 4 exit
  6. goto :test
  7. :aaaaa
  8. echo 其他代码。。。
  9. pause
  10. goto :eof
复制代码
这个代码,停留了3秒。就直接退出了。是啥原因?
作者: happy886rr    时间: 2016-3-10 08:23

回复 5# ygqiang
你没开变量延迟,肯定需要在第一行先定义个n吧set n=0
n的值就可以控制你循环的次数了,这是基础。
作者: ivor    时间: 2016-3-10 08:35

本帖最后由 ivor 于 2016-3-10 18:23 编辑

回复 4# ygqiang


    ping -n 延迟的秒数+1




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