Ugotovil sem, da nastavitev okoljske spremenljivke PATH vpliva samo na staro ukazno vrstico. Zdi se, da ima PowerShell drugačne nastavitve okolja. Kako lahko spremenim spremenljivke okolja za PowerShell (v1)?
Opomba:
Želim, da so spremembe trajne, da mi jih ne bo treba nastavljati vsakič, ko zaženem PowerShell. Ali ima PowerShell datoteko s profilom? Nekaj podobnega kot profil Bash v Unixu?
Če morate med sejo programa PowerShell začasno dodati v spremenljivko okolja PATH, lahko to storite na naslednji način:
jezik: sh -->
$env:Path += ";C:\Program Files\GnuWin32\bin"
Dejanske spremenljivke okolja lahko spremenite tako, da
z uporabo informacije env: namespace / drive
. Na primer, to
koda posodobi spremenljivko okolja path:
jezik: sh -->
$env:Path = "SomeRandomPath"; (replaces existing path)
$env:Path += ";SomeRandomPath" (appends to existing path)
Obstajajo načini, da nastavitve okolja postanejo trajne, vendar
če jih uporabljate samo iz okolja PowerShell, je verjetno
veliko bolje, da uporabite svoj profil za sprožitev
nastavitve. Ob zagonu bo program PowerShell zagnal vse .ps1
datoteke, ki jih najde v imeniku WindowsPowerShell
pod
mapo Moji dokumenti. Običajno imate na voljo datoteko profile.ps1
že tam. Pot v mojem računalniku je
C:\Users\JaredPar\Documents\WindowsPowerShell\profile.ps1
Uporabniške/sistemske okoljske spremenljivke lahko spremenite tudi trajno (tj. ostanejo trajne med ponovnimi zagoni lupine) z naslednjim:
Spremeni sistemsko okoljsko spremenljivko
[Environment]::SetEnvironmentVariable
("Path", $env:Path, [System.EnvironmentVariableTarget]::Machine)
Spreminjanje spremenljivke uporabniškega okolja
[Environment]::SetEnvironmentVariable
("INCLUDE", $env:INCLUDE, [System.EnvironmentVariableTarget]::User)
Uporaba iz komentarjev - dodaj v sistemsko spremenljivko okolja
[Environment]::SetEnvironmentVariable(
"Path",
[Environment]::GetEnvironmentVariable("Path", [EnvironmentVariableTarget]::Machine) + ";C:\bin",
[EnvironmentVariableTarget]::Machine)
Rešitev, ki temelji na nizih, je mogoča tudi, če ne želite pisati tipov
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\bin", "Machine")