我有一个名为“ VAR.bat ”的文件来设置变量:
SET VARa=C:\Program Files
SET VARb=C:\Program Files (x86)
set VARc=C:\ProgramData
我有一个名为“ SET.set ”的文件,其中仅包含变量名:
VARa
VARb
VARc
我想从这样的例程中调用集合:
for /f "tokens=* delims= " %%a in ('type "SET.set"') do (
SET CONSA=%%~a
SET CONSN=%%^%%a%%
CALL :CREATEVAR
)
:CREATEVAR
if exist "%CONSN%" CALL :%CONSA%_detect
exit /b
:VARa_detect
echo "%CONSN%"
exit /b
:VARb_detect
echo "%CONSN%"
exit /b
:VARc_detect
echo "%CONSN%"
exit /b
使用^转义并向值添加%不起作用,因为命令处理器将值解释为“ %VARa% ”而不是“ C:\Program Files ”