Я пишу пакетный скрипт, который хотел бы иметь имена переменных, которые не определены заранее, частично.

Например:

set proj=ABC
set %proj%_folder=\\share\folder\

Это законно и похоже на работу. Но я не знаю, как использовать это позже.

Я могу сделать это:

echo %%%proj%_folder%%

И это будет эхом

ABC_folder

И я могу сделать это:

echo %ABC_Folder%

И это будет эхом

\ Папка \ папка

Но это не решает ABC_folder, и я не могу заставить его делать это дальше. Возможно ли расширение% ABC_Folder%?

1 ответ1

2

Это возможно благодаря отложенному расширению. Вложение имени переменной в ! вместо % будет расширять его правильно.

setlocal enabledelayedexpansion
set  proj=ABC
set %proj%_folder=\\server\folder\

echo !%proj%_folder!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .