谁给我讲讲批处理的延迟变量,我弄不懂大神们帮帮忙

详细点 setlocal EnableDelayedExpansion(什么意思) set line=我是要循环的字~我的长度是15 for /l %%i in (0,1,15) do ( (什么意思) set/p= !line:~%%i,1!<nul ping 127.1 -n 2 >nul )

setlocal EnableDelayedExpansion这个命令用来启用"延迟环境变量扩展" 在我们启用了"延迟环境变量扩展"后,当CMD在解释涵有嵌套格式的命令时,他会把嵌套的命令一条一条的先执行一次,然后再进行匹配操作,这样我们的赋值操作就会完成.并且再"延迟环境变量扩展"启用后,CMD会用!号来判断这是不是一个变量,如没启用来变量用%a%这样的格式判断,启用后就用!a!这样的格式判断了,比如你举的例子中for循环前line是没有被定义的,开启了变量延迟后,在for循环中每次赋予line的值被传递下去,因而能正确显示. FOR /L %%variable IN (start,step,end) DO command 其中,start为开始计数的初始值,step为每次递增的值,end为结束值。当end小于start时,step需要设置为负数.
温馨提示:答案为网友推荐,仅供参考