Board logo

标题: [求助]如何暂时退出FOR循环 [打印本页]

作者: junyee     时间: 2009-12-26 15:06    标题: [求助]如何暂时退出FOR循环

不好意思,又来麻烦大家了。

@echo off
for /l %%i in (1,1,9) do (
        if %%i == 8 goto:eof
        echo %%i
)

PAUSE

我的本意是让他只显示
1
2
3
4
5
6
7
9

但是似乎这样写不行,高手来修正一下。
如何在一个for命令里面暂时退出当前循环???

[ Last edited by junyee on 2009-12-30 at 00:27 ]
作者: asnahu     时间: 2009-12-26 15:12

@echo off
for /l %%i in (1,1,9) do (
        echo %%i
)
PAUSE>nul

作者: amd2luck     时间: 2009-12-28 19:48
顶2楼
作者: junyee     时间: 2009-12-30 00:27
我晕,二楼大哥没看到我没有标8吗???
作者: newxso     时间: 2009-12-30 07:16
楼主,既然会用 if ,怎么就不会用 if not :
@echo off
for /l %%i in (1,1,9) do (
    if not %%i==8 echo %%i
)
pause

作者: junyee     时间: 2009-12-30 10:29


  Quote:
Originally posted by newxso at 2009-12-30 07:16:
楼主,既然会用 if ,怎么就不会用 if not :
@echo off
for /l %%i in (1,1,9) do (
    if not %%i==8 echo %%i
)
pause

呵呵,你很强,可是我就是想在for 里面加一句退出本次命令的语句,
我这只是个示例,for 里面我加了很多句的,你一个if not 就不能完成,总不成这样吧??


[code]
@echo off
for /l %%i in (1,1,20) do (
        if not %%i==8 (
                if not %%i==10 (
                        if not %%i==13 (
                                if not %%i==15 echo %%i                               
                        )
                )
        )
)
pause 1>NUL

虽然可以,但是。。。 我还想在 for 里面加上其它命令,如 再加个for ,
如果纯粹用 if not  会得很乱,且不容易看懂。如果能用类似 goto :eof这类,退出当次循环(不再运行下面命令),且继续下一个循环   就好了。