Doğru anladığımdan emin olmak için: PATH değişkenini kullanıcı kapsamını düzenlemek istiyorsunuz, ancak PATH sistem kapsamı kopyasından tüm öğeleri kullanıcı kapsamınıza eklemek istemiyor musunuz?
Bunu yapmanın en iyi yolu aslında Powershell'i kullanmak. Evet, bunu etiketlediğini biliyorum. bash
, ama demek istemediğinize eminim; setx
bir Windows komutudur. :-)
[System.Environment]::GetEnvironmentVariable("PATH","USER")
Geçerli kullanıcı kapsamı PATH ortam değişkeni bir dize olarak alır. Daha sonra bunu ekleyebilir ve kullanarak tekrar saklayabilirsiniz. SetEnvironmentVariable
işlevi.
$userpath = [System.Environment]::GetEnvironmentVariable("PATH","USER")
$userpath = $userpath + ";D:\Myfolder\Test\"
[System.Environment]::SetEnvironmentVariable("PATH",$userpath,"USER")
Ortam değişkenleriyle uğraşmayla ilgili daha fazla bilgiyi adresinde bulabilirsiniz. bu Süper Kullanıcı sorusu .
Bunun gibi setx
komut, bu aslında herhangi bir ortam değişkenini değiştirmez mevcut süreçte . Bunu yapmak istersen, kullanabilirsin. "PROCESS"
yerine "USER"
çağrısında SetEnvironmentVariable
, veya değerinizi yalnızca $ENV:PATH
, gibi bir şey $ENV:PATH = $ENV:PATH + ";D:\Myfolder\Test\"