比如有这样一个题目:(题目是我瞎掰的,各位老师莫见笑哈)
有这样一种检查,检查从1~3中的数,每检查一个数echo一下,如果遇到2的倍数就输出ok,然后停止echo后面的所有数,这种检查要重复3次!
理想中的结果应该是这样的:
1
2
ok
1
2
ok
1
2
ok
于是我怀着这样的理想写了如下代码:- @echo off
- setlocal enabledelayedexpansion
- for /l %%j in (1,1,3) do (
- for /l %%i in (1,1,3) do (
- echo %%i
- set /a r=%%i%%2
- if !r!==0 call :ok
- )
- :ok
- echo ok
- )
- pause
复制代码 结果大错特错
我知道了用goto不行,goto会跳出所有循环,那么用call该如何实现呢?请求各位老师帮忙,并且详细解释一下原理,晚辈在此多谢了!
[ 本帖最后由 fish 于 2010-7-28 04:48 编辑 ] |