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

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

[已解决]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
复制代码
1

评分人数

    • pcl_test: 无意义的内容不要加到标题里PB -4

回复 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. )
复制代码
2

评分人数

#&cls&@powershell "Invoke-Expression ([Io.File]::ReadAllText('%~0',[Text.Encoding]::UTF8))" &pause&exit

TOP

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

在ping 下面加一行
  1. set /a n+=1 & if %n% equ 4 exit
复制代码
回复 1# ygqiang

TOP

回复 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秒。
1

评分人数

TOP

回复 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秒。就直接退出了。是啥原因?

TOP

回复 5# ygqiang
你没开变量延迟,肯定需要在第一行先定义个n吧set n=0
n的值就可以控制你循环的次数了,这是基础。

TOP

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

回复 4# ygqiang


    ping -n 延迟的秒数+1
#&cls&@powershell "Invoke-Expression ([Io.File]::ReadAllText('%~0',[Text.Encoding]::UTF8))" &pause&exit

TOP

返回列表