por que não define test = whatever no windows?

1

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

Alguma idéia?

    
por ansur 20.09.2012 / 15:56

3 respostas

5

Sua invocação do comando set realmente funciona, mas não faz o que você espera.

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

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

imprime o seguinte:

%test%
 zzz

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

    
por 20.09.2012 / 17:21
2

Você não pode ter espaços antes ou depois do sinal de igual. Tente isso:

 set test=zzz
 echo %test%
    
por 20.09.2012 / 16:02
1

Você tem que omitir os espaços

Eu usei:

set "test=zzz"

e quando usei echo %test% , ele exibe zzz

    
por 20.09.2012 / 16:03