Board logo

标题: [文本处理] [已解决]批处理怎样跳出for /l的循环? [打印本页]

作者: ht河豚    时间: 2012-8-27 18:00     标题: [已解决]批处理怎样跳出for /l的循环?

本帖最后由 pcl_test 于 2017-4-17 14:10 编辑
  1. @echo off
  2. for /l %%i in (1,1,100) do (
  3.   echo 1
  4.   for /l %%i in (1,1,100) do (
  5.     echo 2
  6.     ::插入跳出代码
  7.   )
  8.   echo %%i
  9. )
复制代码
这只是个例子,不要用别的代码实现同样功能,只要跳出的代码
作者: canyuexiaolang    时间: 2012-8-27 18:11

跳不出来,if一下吧。
作者: ht河豚    时间: 2012-8-27 18:26

设标号在for内,if.....goto可以吗??
作者: canyuexiaolang    时间: 2012-8-27 19:38

回复 3# ht河豚


不行的。你可以试一试。:-)
作者: poter    时间: 2012-8-27 20:46

加个计数器,然后满足条件if goto到结尾处就行了
作者: ht河豚    时间: 2012-8-28 16:00

楼上什么意思,怎么跳到结尾处??
作者: cutebe    时间: 2012-8-28 20:56

原代码基础上只能一次跳出所有FOR;

结构要改变,不然无法只跳出里层。
  1. @echo off
  2. for /l %%i in (1,1,100) do (
  3.  echo 1
  4.  CALL :INFOR
  5.  echo %%i
  6. )
  7. GOTO :EOF
  8. :INFOR
  9. for /l %%i in (1,1,100) do (
  10.  echo 2
  11.  rem ::插入跳出代码
  12.  GOTO :OUTFOR
  13. )
  14. :OUTFOR
复制代码

作者: cjiabing    时间: 2012-8-28 23:59

@echo off
for /l %%i in (1,1,100) do (
  echo 1
  for /l %%i in (1,1,100) do (
    echo 2
  )&goto end
  echo %%i——不过这一行可能无法正常显示!
)
pause&exit

:end
echo 跳出成功
pause&exit
作者: ht河豚    时间: 2012-8-29 18:39

谢谢大家,问题解决了
作者: icering    时间: 2017-8-7 20:02

回复 8# cjiabing


    看起来是跳出成功,其实是假象。不信把两个100都换成100000试试,是不是变慢了?说明循环总是要执行完的,只是“跳出”后会得到正确的结果而已。
作者: llh931886    时间: 2020-2-28 11:39

问题怎么解决的?




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