标题: [其他] 批处理怎么跳出循环体并继续执行 [打印本页]
作者: 基拉freedom 时间: 2008-8-21 13:22 标题: 批处理怎么跳出循环体并继续执行
类似与c的continue命令
即在for中满足一个条件后 结束此循环 但是继续执行循环
我用goto试过 不可以 直接挂掉
for........(
if ............ goto by
................
:by
)
但是不可以
我要的不是像break的
作者: pusofalse 时间: 2008-8-21 13:30
for里面不能够使用标签的。
[ 本帖最后由 pusofalse 于 2008-8-21 13:32 编辑 ]
作者: dishuo 时间: 2008-8-21 13:35
用if做判断吧
for........(
if ...false....(
................
)
)
作者: 浅默 时间: 2008-8-21 14:08
@echo off
for %%i in (1 2 3 4 ) do call :1 %%i
pause
goto :eof
:1
if not "%1"=="3" echo %1
作者: batman 时间: 2008-8-21 17:30
要实现这一功能建议使用for+call
- @echo off
- for /l %%i in (1,1,100) do (
- if %%i gtr 50 call :first
- echo %%i
- )
- :first
- echo num is end
- :next
- echo bye bye
- pause>nul&exit
复制代码
[ 本帖最后由 batman 于 2008-8-21 17:36 编辑 ]
作者: flyinspace 时间: 2008-8-21 19:36
for........(
if ............ goto by
................
:by
)
这样处理:
for ******** do call :p1
:p1
if ** goto p2 但这里写 if *** goto :EOF 是最好的。 利用goto :EOF 达到我们 continue 的目的。。
你用多了就会知道这样写的好处了。。
:p2
goto :EOF
利用这个方法就达到了你的目的了。我也经常这样使用呢:)
[ 本帖最后由 flyinspace 于 2008-8-21 19:38 编辑 ]
作者: 基拉freedom 时间: 2008-8-22 12:19
谢谢大家的帮助了
我明白了~~~
作者: gfwlxx 时间: 2008-8-23 04:24
潜水多年,我也回答个
@echo off & setlocal enableextensions
set /a i = 5
:Timeout
if %i% == 0 goto Next
setlocal
set /a i = %i% - 1
cls
ping -n 1 127.0.1 >nul
goto Timeout
:Next
cls & echo.
作者: waitfortea 时间: 2022-9-24 02:00
回复 5# batman
你这个是中断循环了吧,人家要的是跳过该次循环进入下一次
作者: waitfortea 时间: 2022-9-24 13:58
最简单的方式就是把多个选择只要选择一个进行执行的命令放入 if 判断 () else if 判断 () else if 判断 () else ()这样的格式中,以达到continue的效果
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |