在批处理文件中,for 循环变量(即 %%i)是否属于环境变量?我们如何将值重新分配给 %%i



我尝试了以下代码,而回声输出相同,即 1。有没有办法为 for 循环变量分配另一个值?

@echo off
setlocal enabledelayedexpansion
for /l %%i in (1,1,1) do (
echo %%i
set %%i=5
echo %%i
)
pause

问题下面的评论已经解释了您尝试实现的操作从根本上是错误的。

但是,我想使用不同的观点,只回答这个问题:"我们如何将值重新分配给 %%i?答案很简单:以同样的方式,我们将值分配给第一个 %%i,即通过另一个 for 命令。这个答案很明显:如果使用for命令将值分配给第一个 %%i,为什么尝试使用其他命令重新分配其值?

@echo off
setlocal enabledelayedexpansion
for /l %%i in (1,1,1) do (
echo %%i
for %%i in (5) do echo %%i
)

相关内容

最新更新