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\"