Como anexar ao usuário% PATH% da linha de comando

0

Encontrei muitas perguntas como esta no StackExchange, mas ninguém trabalha no meu caso específico.

Eu gostaria de adicionar facilmente% FOO% literalmente à variável de ambiente PATH do usuário.

Eu encontrei a solução abaixo. Infelizmente não funciona como esperado.

for /f "skip=2 tokens=3*" %a in ('reg query HKCU\Environment /v PATH') do @if [%b]==[] ( @setx PATH "%~a;%FOO%" ) else ( @setx PATH "%~a %~b;%FOO%" )

Não funciona se:

  • A variável PATH do usuário não existe
  • O PATH do usuário existe e está vazio
  • O PATH do usuário é quase 255 caracteres.

Além disso, não adiciona o% FOO% literalmente, mas o expande.

Existe alguma possibilidade de fazê-lo facilmente?

    
por nowox 13.01.2015 / 09:09

1 resposta

0

Depende do que você está tentando fazer:

  • Para atualizar o PATH apenas na sua sessão de linha de comando atual, use: %código%.
  • Para editá-lo apenas para o usuário atual, use: set PATH=%PATH%;%FOO% . Note que esta mudança não é visível na sua sessão de linha de comando atual ; você precisa iniciar uma nova linha de comando.
  • Para editá-lo para todos os usuários na máquina, use: setx PATH "%PATH%;%FOO%" .

Você pode visualizar o caminho digitando setx /M PATH "%PATH%;%FOO%" em uma linha de comando ou verificando-o nas configurações de ambiente do Windows .

Além disso, no Windows 7 e 8, o O tamanho máximo da string da variável de ambiente é de 32.767 caracteres. Embora isso também seja válido para a variável PATH, um comando no console de comando tem um comprimento máximo de 8191 caracteres, portanto, é necessário levar isso em consideração ao usar a variável PATH nos comandos da linha de comando. De qualquer forma, você tem mais espaço na cabeça acima dos 256 caracteres que você tem agora.

    
por 13.01.2015 / 12:51