假设我在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
.我怎样才能达到这个要求?
您可以使用延迟扩展或调用技巧.
@echo off
setlocal EnableDelayedExpansion
set "varname=%1"
echo %varname%
echo !%varname%! - This works
call echo %%varname%% - This too
Run Code Online (Sandbox Code Playgroud)