Batch file 批处理:通过一个变量的值访问另一个变量
如果标题令人困惑,我深表歉意。以下是我的批处理脚本:Batch file 批处理:通过一个变量的值访问另一个变量,batch-file,variables,scope,Batch File,Variables,Scope,如果标题令人困惑,我深表歉意。以下是我的批处理脚本: 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 有什么办法吗?如果您能提供帮助,我将不胜感激。您可以使用延迟扩展 @echo off SETLOCAL ENABLEDELAYEDEXPANSIO
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
有什么办法吗?如果您能提供帮助,我将不胜感激。您可以使用延迟扩展
@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
echo!%1!启用延迟扩展的代码>无需将参数分配给环境变量。您只需要!%1!代码>