1

С помощью скрипта * .cmd я set "test = zzz" в командной строке, а затем "echo %test%" и что мне возвращает echo, это не zzz , как я ожидал, а %test% .

Есть идеи?

3 ответа3

5

Ваш вызов команды set самом деле работает, но он не делает то, что вы ожидаете.

Командная строка обрабатывает пробелы, окружающие знак равенства (=), буквально. В результате последовательность команд

set test = zzz
echo %test%
echo %test %

печатает следующее:

%test%
 zzz

Поскольку переменная test не установлена, %test% не заменяется.

2

Вы не можете иметь пробелы до или после знака равенства. Попробуйте это вместо этого:

 set test=zzz
 echo %test%
1

Вы должны опустить пробелы

Я использовал:

set "test=zzz"

и когда я использовал echo %test% он отображает zzz

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