我目前在我的批处理文件中有这个代码,用于在变量%% i中存储一个值:
FOR /F %%i in (AylaUnits.txt) DO set %%i
set "$Unit=%%i"
echo The unit is : %$Unit%
Pause
这似乎循环好了,但对于每个项目,我得到了这个回复:
set AC000W000004591
Environment variable AC000W000004595 not defined
The unit is : %i
文本文件中将有100多个不同的行。我是否需要为每个变量创建一个环境变量?我不认为这是最好的方法,而且我不确定我是否正确理解环境变量。
如果有任何重要的话,我需要将文件的每一行插入网址部分。
谢谢, DM
答案 0 :(得分:1)
您遇到语法问题,请参阅下面的建议更改:
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /F %%i in (AylaUnits.txt) DO (
set "$Unit=%%i"
echo The unit is : !$Unit!
)
Pause
请参阅上面的编辑,因为我们在for
循环中设置变量,我们需要使用SETLOCAL ENABLEDELAYEDEXPANSION
来展开它。由于我们正在扩展for
循环中设置的var,因此在使用这些变量时我们需要使用!
而不是%
。