无忧启动论坛

标题: 批处理循环中实现break和continue [打印本页]

作者: hlowld    时间: 8 小时前
标题: 批处理循环中实现break和continue
本帖最后由 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




作者: yyz2191958    时间: 8 小时前
不明觉厉
作者: lixiangliuyi    时间: 8 小时前
批处理还是复杂了。感觉换成python把,
作者: a66    时间: 8 小时前
了解
作者: it323    时间: 8 小时前
感谢分享!
作者: w11y11    时间: 8 小时前
不错。。。。。。。。。。。
作者: hhcha    时间: 7 小时前
感谢分享!
作者: wn168cn@163.com    时间: 7 小时前
支持原创
作者: cutebe    时间: 7 小时前
感谢分享!除了verify,不知其他命令是否可行?
作者: 1e3e    时间: 7 小时前
谢谢分享,学批处理7年有余,我小白还不会写批处理,仰慕大神
作者: guong    时间: 6 小时前
谢谢分享!
作者: lzh730405    时间: 6 小时前
感谢分享
作者: lzh730405    时间: 6 小时前
又学习到了
作者: wwwlhp    时间: 1 小时前
多谢分享!!!




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3