[英]Windows Batch: For Block with variable within variable
我要创建一个变量Variable,这意味着我想创建许多具有变量名称的变量 ,例如Var 1 ,Var 2 ,Var 3 ,Var 4 。 这有效(请参阅下文),但是由于FOR
-Loop和!var%num%!
单个处理,由于必须使用EnableDelayedExpansion
,因此ECHO
ing无法正常工作!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
-Routine
我对你们的问题现在是如何制作的
CALL ECHO No. !num!^: %%var!num!%%
好一点。 我第一次尝试
ECHO No. !Num!^: !var%num%!
但这失败了,因为它位于单个FOR
-Loop中。 有没有机会使它比CALLING
它更好?
预先谢谢你帕特里克
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.