当前位置: 代码迷 >> 其他开发语言 >> 批处理有关问题
  详细解决方案

批处理有关问题

热度:8188   发布时间:2013-02-26 00:00:00.0
批处理问题
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赋的值。
只能单独的显示数字
VBScript code
@echo offSet at=jjfor /l %%i in (1,1,5) do echo %%ipause
------解决方案--------------------------------------------------------
VBScript code
@echo offset at=jjfor /l %%i in (1,1,5) do (echo %at%:%%i)pause
------解决方案--------------------------------------------------------
VBScript code
@echo off&setlocal EnableDelayedExpansionSet at=jjfor /l %%i in (1,1,5) do (set at=%at%;%%iecho !at!)pause
  相关解决方案