中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-11 05:30
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求助 一个关于延迟变量 重新表达的问题!! 查看 685 回复 1
楼 主 求助 一个关于延迟变量 重新表达的问题!! 发表于 2009-01-12 18:06 ·  中国 江苏 扬州 移动
初级用户
积分 28
发帖 20
注册 2008-12-04 19:57
17年会员
UID 132895
性别 男
状态 离线
@echo off
set /a m=0
call :111 A B C
pause&goto :eof
:111
set /a m+=1
set /a n=m+1
set /a l=m+2
call echo %%%m% %%%n% %%%l%
goto :eof

其中的call echo %%%m% %%%n% %%%l%用setlocal enabledelayedexpansion
endlocal 启用延迟变量 如何表达?
2 发表于 2009-01-12 18:42 ·  中国 广东 深圳 电信
初级用户
★★
游手好闲 + 无所事事 ..
积分 194
发帖 167
注册 2007-04-30 09:43
19年会员
UID 87022
性别 男
状态 离线
@echo off
setlocal enabledelayedexpansion
set /a m=0
call :111 A B C D E F G
pause&goto :eof
:111
ping 127.1 -n 2 >nul 2>nul
set /a m=!m!+1
set /a n=!m!+1
set /a l=!n!+1
call echo %%!m! %%!n! %%!l!
if /i !m! gtr 8 (goto :eof) else (goto 111)
goto :eof


运行看一下,就明白了吧?

[ Last edited by exzzz on 2009-1-12 at 18:43 ]
论坛跳转: