批处理中for中set的问题

@echoofffor/l%%iin(1,1,5)do(setsetvar=%%iecho%var%)pause为什么set出来有var的值,而echo却不显示呢?知道要... @echo off

for /l %%i in (1,1,5) do (set
set var=%%i
echo %var%)

pause

为什么set出来有var的值,而echo却不显示呢?
知道要用延迟,但是这里想不通
展开
 我来答
依梦琴瑶
高粉答主

2018-04-07 · 说的都是干货,快来关注
知道顶级答主
回答量:6.9万
采纳率:82%
帮助的人:1.7亿
展开全部
for循环set需要开启环境变量延迟,之后变量调用时使用感叹号代替百分号,这样才能在for中正常显示变量赋予的值。

@echo off
for /l %%i in (1,1,5) do (
set var=%%i
echo !var!
)
pause
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式