找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 47281|回复: 9

[其他] 批处理怎么跳出循环体并继续执行

[复制链接]
发表于 2008-8-21 13:22:55 | 显示全部楼层 |阅读模式
类似与c的continue命令
即在for中满足一个条件后 结束此循环 但是继续执行循环
我用goto试过 不可以 直接挂掉
for........(
if ............ goto by
................
:by
)
但是不可以
我要的不是像break的
发表于 2008-8-21 13:30:54 | 显示全部楼层
for里面不能够使用标签的。

[ 本帖最后由 pusofalse 于 2008-8-21 13:32 编辑 ]
发表于 2008-8-21 13:35:36 | 显示全部楼层
用if做判断吧
for........(
   if ...false....(
   ................
   )
)
发表于 2008-8-21 14:08:32 | 显示全部楼层
@echo off
for %%i in (1 2 3 4 ) do call :1 %%i
pause
goto :eof
:1
if not "%1"=="3" echo %1
发表于 2008-8-21 17:30:52 | 显示全部楼层
要实现这一功能建议使用for+call

  1. @echo off
  2. for /l %%i in (1,1,100) do (
  3.      if %%i gtr 50 call :first
  4.      echo %%i
  5. )
  6. :first
  7. echo num is end
  8. :next
  9. echo bye bye
  10. pause>nul&exit
复制代码

[ 本帖最后由 batman 于 2008-8-21 17:36 编辑 ]
发表于 2008-8-21 19:36:43 | 显示全部楼层
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 编辑 ]
 楼主| 发表于 2008-8-22 12:19:41 | 显示全部楼层
谢谢大家的帮助了
我明白了~~~
发表于 2008-8-23 04:24:41 | 显示全部楼层
潜水多年,我也回答个

@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.
发表于 2022-9-24 02:00:50 | 显示全部楼层
回复 5# batman


你这个是中断循环了吧,人家要的是跳过该次循环进入下一次
发表于 2022-9-24 13:58:15 | 显示全部楼层
最简单的方式就是把多个选择只要选择一个进行执行的命令放入 if 判断 () else if 判断 () else if 判断 () else ()这样的格式中,以达到continue的效果
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 15:51 , Processed in 0.019519 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表