С помощью скрипта *.cmd я делаю это set "test = zzz"
в командной строке, а затем "echo %test%"
мне возвращается не zzz
, как я ожидал, а %test%
.
Есть идеи?
решение1
Ваш вызов команды set
на самом деле работает, но не делает того, что вы ожидаете.
Командная строка воспринимает пробелы вокруг знака равенства ( =
) буквально. В результате последовательность команд
set test = zzz
echo %test%
echo %test %
печатает следующее:
%test%
zzz
Поскольку переменная test
не установлена, %test%
она не заменяется.
решение2
Пробелы перед знаком равенства и после него не допускаются. Попробуйте вместо этого:
set test=zzz
echo %test%
решение3
Пробелы нужно опускать.
Я использовал:
set "test=zzz"
и когда я использовал echo %test%
его, он отображалсяzzz