Batch file 批量嵌套变量

Batch file 批量嵌套变量,batch-file,variables,Batch File,Variables,我一直有一个真正的问题,得到一些似乎简单,但我似乎无法得到一个有效的答案 以下是我正在做的: 使用特定名称设置变量:例如设置“select=computer1” 我做了一个测试,在使用if语句后根据结果给变量一个值:exset“%select%=1”这将变量%computer1%设置为1 我想看看%computer1%的值是多少,但我只知道%select% 当我只知道%select%时,有没有办法获得%computer1%的值%select%知道新变量的名称,但我需要知道它的值,而不能直接用硬编

我一直有一个真正的问题,得到一些似乎简单,但我似乎无法得到一个有效的答案

以下是我正在做的:

  • 使用特定名称设置变量:例如设置“select=computer1”
  • 我做了一个测试,在使用if语句后根据结果给变量一个值:ex
    set“%select%=1”
    这将变量
    %computer1%
    设置为
    1
  • 我想看看
    %computer1%
    的值是多少,但我只知道
    %select%
  • 当我只知道
    %select%
    时,有没有办法获得
    %computer1%
    的值
    %select%
    知道新变量的名称,但我需要知道它的值,而不能直接用硬编码的名称调用它

    我认为管道可能会起作用,但我似乎无法理解这一点


    谢谢大家,我感谢你们的帮助。

    你们需要另一层解析。你可以这样做:

    延迟扩展:

    setlocal enabledelayedexpansion
    echo !%select%!
    
    call echo %%select%%
    
    在不延迟扩展的情况下:

    setlocal enabledelayedexpansion
    echo !%select%!
    
    call echo %%select%%
    

    您需要另一层解析。你可以这样做:

    延迟扩展:

    setlocal enabledelayedexpansion
    echo !%select%!
    
    call echo %%select%%
    
    在不延迟扩展的情况下:

    setlocal enabledelayedexpansion
    echo !%select%!
    
    call echo %%select%%
    

    set%select%
    将输出
    computer1=1
    中描述了这种类型的管理,尽管主题不同…
    set%select%
    将输出
    computer1=1
    中描述了这种类型的管理,尽管主题不同。。。