|
|
本帖最后由 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
|
|