Variável de ambiente do escopo do usuário: PATH acrescenta o valor da string ao valor existente

2

Eu quero saber como acrescentar valor à variável PATH existente (escopo do usuário):

SETX PATH "%PATH%;D:\Myfolder\Test\"

O script acima usa os dados da variável do caminho do sistema usando %PATH% e anexa o caminho da minha pasta ( D:\Myfolder\Test\ ) ao PATH (escopo do usuário).

Minha necessidade é levar a variável do caminho do usuário antes do acréscimo. Eu preciso de uma correção para este caso.

Por favor, forneça sua sugestão.

    
por Senthil Arumugam 22.09.2015 / 08:53

1 resposta

1

Apenas certifique-se de que entendi corretamente: você deseja editar a variável PATH do escopo do usuário, mas não deseja adicionar todo o material da cópia do escopo do sistema do PATH ao seu escopo do usuário?

A melhor maneira que eu conheço para fazer isso é na verdade usar o Powershell. Sim, eu sei que você marcou isso como bash , mas eu tenho certeza que você não queria; setx é um comando do Windows. : -)

[System.Environment]::GetEnvironmentVariable("PATH","USER") obterá a variável de ambiente PATH do escopo do usuário atual como uma string. Você pode então anexar a isso e armazená-lo de volta usando a função SetEnvironmentVariable .

$userpath = [System.Environment]::GetEnvironmentVariable("PATH","USER")
$userpath = $userpath + ";D:\Myfolder\Test\"
[System.Environment]::SetEnvironmentVariable("PATH",$userpath,"USER")

Você pode ler mais sobre como mexer com variáveis de ambiente em esta pergunta sobre o superusuário .

Note que, como o comando setx , isso não alterará realmente nenhuma variável de ambiente no processo atual . Se você quiser fazer isso, use "PROCESS" em vez de "USER" em uma chamada para SetEnvironmentVariable ou apenas anexe seu valor a $ENV:PATH , algo como $ENV:PATH = $ENV:PATH + ";D:\Myfolder\Test\"

    
por 22.09.2015 / 09:37