无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 119|回复: 13
打印 上一主题 下一主题

[分享] 批处理循环中实现break和continue

  [复制链接]
跳转到指定楼层
1#
发表于 2 小时前 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 hlowld 于 2026-2-12 10:03 编辑

在不启用变量延迟扩展且不使用goto的前提下,循环块内变量不会实时更新,无法用作是否执行循环代码的判断,改用verify设置errorlevel,用 if errorlevel或if not errorlevel来判断是否执行循环代码。示例代码如下:

@echo off
echo 模拟continue,触发时跳过本次继续循环
for /l %%i in (1, 1, 5) do (
        verify >nul 2>nul
        if %%i equ 3 (verify bad >nul 2>nul & echo 触发continue,跳过本次继续循环)
        if not errorlevel 1 (
                rem 循环代码
                echo 执行 %%i
        )
)
echo 模拟break,触发时终止循环
verify >nul 2>nul
for /l %%i in (1, 1, 5) do (
        if %%i equ 3 (verify bad >nul 2>nul & echo 触发break,终止循环)
        if not errorlevel 1 (
                rem 循环代码
                echo 执行 %%i
        )
)
pause
exit



点评

批处理编程重大突破  发表于 1 小时前
2#
发表于 2 小时前 | 只看该作者
不明觉厉
回复

使用道具 举报

3#
发表于 2 小时前 | 只看该作者
批处理还是复杂了。感觉换成python把,
回复

使用道具 举报

4#
发表于 2 小时前 | 只看该作者
了解
回复

使用道具 举报

5#
发表于 2 小时前 | 只看该作者
感谢分享!
回复

使用道具 举报

6#
发表于 1 小时前 | 只看该作者
不错。。。。。。。。。。。
回复

使用道具 举报

7#
发表于 1 小时前 | 只看该作者
感谢分享!
回复

使用道具 举报

8#
发表于 1 小时前 | 只看该作者
支持原创
回复

使用道具 举报

9#
发表于 1 小时前 | 只看该作者
感谢分享!除了verify,不知其他命令是否可行?
回复

使用道具 举报

10#
发表于 1 小时前 | 只看该作者
谢谢分享,学批处理7年有余,我小白还不会写批处理,仰慕大神
回复

使用道具 举报

11#
发表于 18 分钟前 | 只看该作者
谢谢分享!
回复

使用道具 举报

12#
发表于 15 分钟前 | 只看该作者
感谢分享
回复

使用道具 举报

13#
发表于 14 分钟前 | 只看该作者
又学习到了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2026-2-12 12:04

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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