我想创建一个变量Variable,这意味着我想用变量名称创建许多变量,例如Var 1 ,Var 2 ,Var 3 ,Var 4 。这有效(见下文),但由于ECHO
- 循环中的单一处理我必须使用EnableDelayedExpansion
,FOR
无法正常工作,!var%num%!
未被正确解释
所以这就是我所拥有的:
SetLocal EnableDelayedExpansion
SET /a num = 0
FOR /F "tokens=*" %%a IN ('dir /b *.bat') DO (
SET /a num = num + 1
SET var!num!=%%a
CALL ECHO No. !num!^: %%var!num!%%
)
EndLocal DisableDelayedExpansion
下班后,现在可以使用CALL
- 回声
我向你们提出的问题是如何制作
CALL ECHO No. !num!^: %%var!num!%%
好一点。我第一次尝试了
ECHO No. !Num!^: !var%num%!
但是因为单个FOR
- 循环失败了。有没有机会比CALLING
更好?
提前谢谢你 帕特里克
答案 0 :(得分:1)
SetLocal EnableDelayedExpansion
SET /a "num=0"
FOR /F "delims=" %%a IN ('dir /b *.bat') DO (
SET /a "num+=1"
SET "var!num!=%%a"
FOR %%b in (!num!) do ECHO No. !num!: !var%%b!
)
EndLocal