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.