批处理问题
Set at=jj
for /l %%i in (1,1,5) do (
set at=%at%;%%i
)
echo %at%
一个简单的循环,每次更改at这个变量,最后希望得到5次连接的结果jj1;2;3;4;5.但是运行的结果是,每次相加的时候,at的值都是循环以外的值。也就是说每次相加的值分别是
jj;1
jj;2
jj;3
jj;4
jj;5
jj;5是最后的值,也就是说at在循环内相当于是值传递,只有出了循环值才会改变,有什么办法可以解决这个问题么
[解决办法]
先顶一下。好像在循环过程中不能显示给at赋的值。
只能单独的显示数字
@echo offSet at=jjfor /l %%i in (1,1,5) do echo %%ipause
[解决办法]
@echo offset at=jjfor /l %%i in (1,1,5) do (echo %at%:%%i)pause
[解决办法]
@echo off&setlocal EnableDelayedExpansionSet at=jjfor /l %%i in (1,1,5) do (set at=%at%;%%iecho !at!)pause