Kullanıcı kapsamı ortam değişkeni: PATH, dize değerini varolan değere ekler


2

Var olan PATH değişkenine nasıl değer ekleneceğini bilmek istiyorum (kullanıcı kapsamı):

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

Yukarıdaki komut dosyası kullanarak sistem yolu değişken verilerini alır. %PATH% ve klasör yolumu ekle ( D:\Myfolder\Test\ ) PATH'e (kullanıcı kapsamı).

İhtiyacım, eklemeden önce kullanıcı yolu değişkenini kullanmak. Bu dava için düzeltmeye ihtiyacım var.

Lütfen önerinizi sağlayın.

Yanıtlar:


1

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


İyi bir anlayış. Powershell betiği hakkında bir fikrim yok. Bu işlevselliği sağlamak için bu betiği (3 satırınızı) içeren bir Powershell betiği dosyası oluşturduk ve bu dosyaya tek bir tıklamayla erişelim.
Senthil Arumugam

Sadece bir .PS1 dosyasını çift tıklatarak çalışması için komut dosyası güven kurallarını değiştirmeniz (veya komut dosyasını imzalamanız) gerekir, ancak yapabilirsiniz. Ayrıca kullanabilirsiniz -Command Powershell argümanı, benzer /C CMD'deki bağımsız değişken, yalnızca belirli bir komutu çalıştırmasını söylemek için. Üç satırı tek bir satırda birleştirebilirsiniz (iç içe geçmiş komutlarla veya ile ayırarak ; noktalı virgül karakterleri). Daha sonra PS'ye tüm bunları bir satır CMD ile çalıştırmasını söyleyebilirsiniz.
CBHacking
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.