如何获取本身是变量的env值?

Lio*_*ion 3 cmd batch-file

假设我在windows中有env变量:

IA=C:\a
IB=C:\b
Run Code Online (Sandbox Code Playgroud)

现在我写一个批处理脚本:(名为s.bat)

@echo off
set var=%1
echo %var%
Run Code Online (Sandbox Code Playgroud)

当我跑s.bat IA,结果是IA,但我实际上想要结果C:\a.我怎样才能达到这个要求?

jeb*_*jeb 5

您可以使用延迟扩展或调用技巧.

@echo off
setlocal EnableDelayedExpansion
set "varname=%1"
echo %varname%
echo !%varname%!  - This works
call echo %%varname%%  - This too
Run Code Online (Sandbox Code Playgroud)