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
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 就不能完成,总不成这样吧??



@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这类,退出当次循环(不再运行下面命令),且继续下一个循环 就好了。