Programação em lote do Windows: avaliação de variável indireta / aninhada
Temos um arquivo de texto que lista vários caminhos e um arquivo em lotes que lê as linhas desse arquiv
Por exemplo, TargetFolders.txt pode conter a linha:
%ProgramFiles%\Acme\FooBar %VersionNumber%
Naturalmente, quando lemos esta linha do arquivo de texto (usando um comando FOR), a variável %% I recebe o texto da linha real, com os sinais% em vez de substituir os valores da variável. Então
SET VersionNumber=7.0
FOR /F "eol=; delims=" %%I IN (TargetFolders.txt) DO (
echo Folder: %%I
)
Impressões
Folder: %ProgramFiles%\Acme\FooBar %VersionNumber%
Como se faz para substituir os valores reais das variáveis, de modo que imprima
Folder: C:\Program Files\Acme\FooBar 7.0
?