por que não define test = tanto faz no Windows?

por que não define test = tanto faz no Windows?

Por meio de um script *.cmd que faço set "test = zzz"na linha de comando e, em seguida "echo %test%", o que é retornado para mim não é zzz, como eu esperava, mas %test%.

Alguma ideia?

Responder1

A invocação do setcomando realmente funciona, mas não faz o que você espera.

=O prompt de comando trata literalmente os espaços ao redor do sinal de igualdade ( ). Como resultado, a sequência de comandos

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

imprime o seguinte:

%test%
 zzz

Como a variável testnão está definida, %test%não é substituída.

Responder2

Você não pode ter espaços antes ou depois do sinal de igual. Em vez disso, tente isto:

 set test=zzz
 echo %test%

Responder3

Você tem que omitir os espaços

Eu usei:

set "test=zzz"

e quando eu usei echo %test%ele exibezzz

informação relacionada