我正在编写一个批处理脚本,希望其中部分脚本能够包含未提前定义的变量名。
例如:
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!