我尝试了以下代码,而echo输出是相同的,即1.有没有办法为for-loop变量分配另一个值?
@echo off
setlocal enabledelayedexpansion
for /l %%i in (1,1,1) do (
echo %%i
set %%i=5
echo %%i
)
pause
答案 0 :(得分:0)
问题下面的评论已经解释过,你试图实现的操作从根本上说是错误的。
但是,我想使用不同的观点并回答这个问题:“我们怎样才能将值重新分配给%% 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
)