Установите переменную для содержимого другой переменной - PullRequest
0 голосов
/ 07 декабря 2018

Я пытаюсь создать программу, которая по существу будет "эмулировать" переменные.

Я пытался проверить эту проблему с помощью следующего кода:

@echo off
set a=b
set b=c
:: The program should echo %b% because it is expanded with double percentages
echo %%a%%

Программа только отображает "%% a%% "вместо расширения до% b%, что должно привести к тому, что программа выдает сообщение C.

Что я делаю не так?

Ответы [ 2 ]

0 голосов
/ 07 декабря 2018

Вы можете использовать call и использовать удвоенный набор знаков процента, чтобы получить значение c.

call echo %%%a%%%

В качестве альтернативы, вы можете поставить setlocal enabledelayedexpansion в верхней части скрипта ииспользуйте echo !%a%!

0 голосов
/ 07 декабря 2018

Из ответа на Символ пакетной экранирования

Кажется, формальное определение довольно расплывчато:

Может не всегда требоваться [чтобы избежать]в двойных кавычках просто попробуйте

Поэтому попробуйте unescaped:

 echo %a%
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...