我尝试用三级for 循环来迭代,运行过程不断"骂":"已经达到最大的 setlocal 递归层。"这是什么意思?最大有多大?
注:---我们称编译错误或运行错误的警告为"骂".
注:---我们称编译错误或运行错误的警告为"骂".
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
@echo off
setlocal
:main
....
....
....
:endofmain
:eof
endlocal
:: SetlocalMaxRecursion.cmd - Test of max recursion of setlocal
:: Will Sort - 2006-06-20 - CMD@WinXP
@echo off
for /l %%i in (1,1,100) do (
setlocal EnableDelayedExpansion
rem echo.%errorlevel%
set var=%%i
echo counter:%%i-!var!
if "!var:~-1!"=="0" pause
endlocal
rem 使用rem注释endlocal可以测得setlocal的最大递归层数为32
rem 这里的注释标记不能使用::,否则可能会产生语法错误
echo counter:%%i-!var!
rem endlocal也关闭最近的setlocal所设定的变量延迟或者命令扩展
)
| 评分人 | 分数 | 时间 |
|---|---|---|
| everest79 | +8 | 2007-03-29 21:07 |