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.

questionAnswers(8)

yourAnswerToTheQuestion