Пакетное программирование Windows: косвенная / вложенная оценка переменных
У нас есть текстовый файл со списком путей и командный файл, который читает строки из этого файла.
Например, TargetFolders.txt может содержать строку:
%ProgramFiles%\Acme\FooBar %VersionNumber%
Естественно, когда мы читаем эту строку из текстового файла (используя команду FOR), переменная %% I получает фактический текст строки со знаками%, а не заменяет значения переменной. Так,
SET VersionNumber=7.0
FOR /F "eol=; delims=" %%I IN (TargetFolders.txt) DO (
echo Folder: %%I
)
Печать
Folder: %ProgramFiles%\Acme\FooBar %VersionNumber%
Как сделать так, чтобы он заменял действительные значения переменных, чтобы он печатал
Folder: C:\Program Files\Acme\FooBar 7.0
?