扩展嵌套变量名称

扩展嵌套变量名称

我正在编写一个批处理脚本,希望其中部分脚本能够包含未提前定义的变量名。

例如:

set proj=ABC
set %proj%_folder=\\share\folder\

这是合法的,而且似乎有效。但是,我不知道以后如何使用它。

我可以做这个:

echo %%%proj%_folder%%

并且它将产生回响

ABC_文件夹

我可以这样做:

echo %ABC_Folder%

并且它将产生回响

\共享文件夹

但这并不能解决 ABC_folder 问题,而且我似乎无法强制它进一步解决。 是否有可能让 %ABC_Folder% 扩展?

答案1

这可以通过延迟扩张。将变量名括在 中!而不是 中将%正确扩展它。

setlocal enabledelayedexpansion
set  proj=ABC
set %proj%_folder=\\server\folder\

echo !%proj%_folder!

相关内容