批处理:通过一个变量的值访问另一个变量

batch: access another variable by the value of one variable

如果标题令人困惑,我深表歉意。这是我的批处理脚本:

set var=1
set ss=var rem // ss is mean to be string
call :func %ss%
goto :eof

:func
    rem // I want to access to value 1 by using %1, which is ss

有什么办法吗?如果您提供一些帮助,我将不胜感激^v^

您可以使用延迟扩展。

@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
set var=1
set ss=var rem // ss is mean to be string
call :func %ss%
goto :eof

:func
    REM I want to access to value 1 by using %1, which is ss
    set a=%1
    REM will output '1'
    echo !%a%! 

评价:!%a%! => !var! => 1