Išsiaiškinau, kad PATH aplinkos kintamojo nustatymas turi įtakos tik senajai komandų eilutei. Atrodo, kad "PowerShell" turi kitokius aplinkos nustatymus. Kaip pakeisti "PowerShell" (v1) aplinkos kintamuosius?
Pastaba:
Noriu, kad pakeitimai būtų nuolatiniai, kad nereikėtų jų nustatyti kiekvieną kartą paleidžiant "PowerShell". Ar "PowerShell" turi profilio failą? Kažkas panašaus į "Bash" profilį "Unix" sistemoje?
Jei per "PowerShell" seansą reikia laikinai pridėti PATH aplinkos kintamąjį, galite tai padaryti taip:
$env:Path += ";C:\Program Files\GnuWin32\bin"
Pakeisti tikruosius aplinkos kintamuosius galima
naudojant env: vardų erdvė / diskas
informaciją. Pavyzdžiui, šis
kodas atnaujins aplinkos kintamąjį path:
$env:Path = "SomeRandomPath"; (replaces existing path)
$env:Path += ";SomeRandomPath" (appends to existing path)
Yra būdų, kaip aplinkos nustatymus padaryti nuolatinius, bet
jei juos naudojate tik iš "PowerShell", tikriausiai
daug geriau naudoti savo profilį, kad inicijuotumėte
nustatymus. Paleidimo metu "PowerShell" paleis bet kokį .ps1
failus, kuriuos randa kataloge WindowsPowerShell
, esančiame po
Mano dokumentai aplanke. Paprastai turite profile.ps1
failą. Kelias mano kompiuteryje yra toks
C:\Users\JaredPar\Documents\WindowsPowerShell\profile.ps1
Taip pat galite keisti vartotojo/sistemos aplinkos kintamuosius nuolat (t. y. jie išliks po visų apvalkalo paleidimų iš naujo) naudodami šiuos veiksmus:
modifikuoti sistemos aplinkos kintamąjį
[Environment]::SetEnvironmentVariable
("Path", $env:Path, [System.EnvironmentVariableTarget]::Machine)
Pakeisti naudotojo aplinkos kintamąjį
[Environment]::SetEnvironmentVariable
("INCLUDE", $env:INCLUDE, [System.EnvironmentVariableTarget]::User)
Naudojimas iš komentarų - pridėti prie sistemos aplinkos kintamojo
[Environment]::SetEnvironmentVariable(
"Path",
[Environment]::GetEnvironmentVariable("Path", [EnvironmentVariableTarget]::Machine) + ";C:\bin",
[EnvironmentVariableTarget]::Machine)
Įmanomas ir eilutėmis pagrįstas sprendimas, jei nenorite rašyti tipų
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\bin", "Machine")