中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-12 21:38
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]如何暂时退出FOR循环 查看 1,064 回复 5
楼 主 [求助]如何暂时退出FOR循环 发表于 2009-12-26 15:06 ·  中国 江西 吉安 遂川县 电信
中级用户
★★
积分 253
发帖 112
注册 2006-05-31 11:12
20年会员
UID 56308
性别 男
状态 离线
不好意思,又来麻烦大家了。

@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 ]
2 发表于 2009-12-26 15:12 ·  中国 广西 南宁 电信
初级用户
★★
积分 99
发帖 53
注册 2006-08-18 18:44
19年会员
UID 60809
状态 离线
@echo off 
for /l %%i in (1,1,9) do (
echo %%i
)
PAUSE>nul
3 发表于 2009-12-28 19:48 ·  中国 广东 广州 电信
初级用户
天蓝
积分 20
发帖 12
注册 2009-12-27 21:40
16年会员
UID 157445
性别 男
状态 离线
顶2楼
4 发表于 2009-12-30 00:27 ·  中国 江西 吉安 电信
中级用户
★★
积分 253
发帖 112
注册 2006-05-31 11:12
20年会员
UID 56308
性别 男
状态 离线
我晕,二楼大哥没看到我没有标8吗???
5 发表于 2009-12-30 07:16 ·  中国 广东 广州 荔湾区 电信
初级用户
★★
l i u s s
积分 73
发帖 101
注册 2008-09-17 00:21
17年会员
UID 125825
性别 男
来自 GZ
状态 离线
楼主,既然会用 if ,怎么就不会用 if not :

@echo off
for /l %%i in (1,1,9) do (
if not %%i==8 echo %%i
)
pause
6 发表于 2009-12-30 10:29 ·  中国 江西 吉安 电信
中级用户
★★
积分 253
发帖 112
注册 2006-05-31 11:12
20年会员
UID 56308
性别 男
状态 离线
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这类,退出当次循环(不再运行下面命令),且继续下一个循环 就好了。
论坛跳转: