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

?

questionAnswers(6)

yourAnswerToTheQuestion