Como adiciono à variável PATH do Windows usando setx? Tendo problemas estranhos
Quero modificar a variável PATH do Windows usandosetx
. O seguinte funciona pelo menos 50% do tempo no Windows 8:
setx PATH %PATH%;C:\Python27\;C:\Python27\Scripts\
Se aparecer o erro "o argumento padrão pode ser usado apenas 2 vezes", o seguinte funcionará algumas vezes:
setx PATH "%PATH%;C:\Python27\;C:\Python27\Scripts\"
A diferença é que colocamos o segundo argumento entre aspas. Eu acredito que as citações são necessárias quando%PATH%
expande para incluir espaços.
No entanto, eu encontrei alguns problemas estranhos no Windows 7. Em uma máquina Windows 7 específica, tive esse problema:
echo %PATH%
Imprime:
C:\Foo\;C:\Bar\;[...lots of stuff...]C:\Baz\
Então eu faço isso:
setx PATH "%PATH%;C:\Quux\"
Em seguida, ele diz "Erro: truncado em 1.024 caracteres". Agora vamos verificar o que PATH contém:
echo %PATH%
Imprime:
C:\Foo\;C:\Foo\;C:\Bar\;C:\Bar\;[...lots of stuff, now duplicated...]C:\B
... e é cortado em 1.024 caracteres. Foi atropelado por causa das duplicatas. Também interessante: o valor de PATH muda apesar do fato de quesetx
gerou um erro e não disse "Sucesso".
Consegui repetir esse comportamento estranho várias vezes (felizmente, salvei o conteúdo original do PATH).
No momento, a única maneira infalível que conheço de acrescentar ao PATH é a seguinte:
echo
o caminho.
Copie o conteúdo do PATH em um arquivo de texto e adicione manualmente;C:\Python27\;C:\Python27\Scripts\
até o final do CAMINHO.
Copie tudo do arquivo de texto.
setx PATH "<paste the string here>"
Esse processo funciona sempre no Windows 7 e no Windows 8.
Eu realmente deveria ser capaz de fazer isso em um comando. O que estou fazendo errado?
Obrigado.