C:\Users\Home
λ set EAD = C:\Users\Home\Desktop\
C:\Users\Home
λ echo %EAD%
%EAD%
C:\Users\Home
λ set EAD = C:\Users\Home\Desktop\
C:\Users\Home
λ echo %EAD%
%EAD%
Bom dia Bruno!
Testa assim:
setx EAD C:\Users\Home\Desktop\
E para exibir:
set EAD
Muito obrigado Jonas, funcionou!
C:\Users\Home
λ setx EAD C:\Users\Home\Desktop\
ÊXITO: o valor especificado foi salvo.
C:\Users\Home
λ set EAD
EAD=C:\Users\Home\Desktop\
mas poderia me explicar o que eu fiz de diferente?
Boa tarde Bruno! Não há de quê!
Não sei dizer exatamente qual o problema em relação a não exibição do valor da variável EAD. Inclusive também achei estranho. Quando você faz:
echo %username%
O resultado é a exibição na tela do seu nome de usuário do Windows. A idéia seria exibir o valor da variável EAD da mesma maneira, mas não sei porquê não funciona...
Sobre a diferença entre set e setx, dá uma olhada nisso:
https://pt.stackoverflow.com/questions/185486/qual-a-diferen%C3%A7a-entre-set-e-setx
Transcrevendo:
"SET
Atribui os valores imediatamente na sessão de shell que você está trabalhando agora. Morre quando ele for finalizado. Ele está embutido no próprio shell, ele é apenas um comando reconhecível pelo cmd.
SETX
Atribui os valores para todas as novas sessões de shells criadas e não perde mais até ser alterado por outro SETX. As sessões que já estão rodando não são afetadas. Ele é um executável utilitário a parte, portanto só funciona se ele estiver acessível. Com -m pode ser aplicado para todos os usuários. É a única forma de modificar as variáveis de ambiente programaticamente."