繁体   English   中英

Windows批处理:对于在变量内包含变量的块

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM