Programación por lotes de Windows: evaluación de variables indirectas / anidadas
Tenemos un archivo de texto que enumera un montón de rutas y un archivo por lotes que lee las líneas de este archivo.
Por ejemplo, TargetFolders.txt puede contener la línea:
%ProgramFiles%\Acme\FooBar %VersionNumber%
Naturalmente, cuando leemos esta línea del archivo de texto (usando un comando FOR), la variable %% I recibe el texto de línea real, con los signos% en lugar de reemplazar los valores de la variable. Entonces
SET VersionNumber=7.0
FOR /F "eol=; delims=" %%I IN (TargetFolders.txt) DO (
echo Folder: %%I
)
Huellas dactilare
Folder: %ProgramFiles%\Acme\FooBar %VersionNumber%
¿Cómo se hace que reemplace los valores de las variables reales, para que imprima
Folder: C:\Program Files\Acme\FooBar 7.0
?