В StackOverflow есть много вопросов о том, как избежать заданного символа в cmd.exe
. Однако, похоже, ни одно из решений не работает в моем случае.
В принципе, я хочу установить переменную окружения FOO
в a!$5
.
Я попытался очевидное:
set FOO=a!$5
Что дает:
History expansion: set FOO=ae5
Справедливо, я думаю, я должен бежать !
или $
, или обоих. Однако ничего не работает.
я могу сделать:
echo a^!
a!
И:
echo a$
a$
И даже:
echo a^$
a$
Но:
echo a^!$
History expansion: echo a^a^$
aa$
Я нахожусь в убытке, выясняя, что делать здесь. Кажется, как бы я ни избегал специальных символов, я не могу получить результат, который я хочу.
Как я могу это сделать?
не удалось воспроизвести. – Stephan
Знак '$' ничего особенного для 'cmd', поэтому нет причин его избегать; знак '!' имеет особое значение, если включено [delayed expansion] (http://ss64.com/nt/delayedexpansion.html). – aschipfl