Jeg har funnet ut at innstilling av PATH-miljøvariabelen bare påvirker den gamle ledeteksten. PowerShell ser ut til å ha forskjellige miljøinnstillinger. Hvordan endrer jeg miljøvariablene for PowerShell (v1)?
Merk:
Jeg vil gjøre endringene mine permanente, slik at jeg ikke trenger å angi dem hver gang jeg kjører PowerShell. Har PowerShell en profilfil? Noe som Bash-profil på Unix?
Hvis du en gang i løpet av en PowerShell-økt har behov for å legge til miljøvariabelen PATH midlertidig, kan du gjøre det slik gjøre det på denne måten:
$env:Path += ";C:\Program Files\GnuWin32\bin"
Endring av de faktiske miljøvariablene kan gjøres ved å
bruke informasjonen env: namespace / drive
. For eksempel vil denne
koden vil for eksempel oppdatere miljøvariabelen path:
$env:Path = "SomeRandomPath"; (replaces existing path)
$env:Path += ";SomeRandomPath" (appends to existing path)
Det finnes måter å gjøre miljøinnstillingene permanente på, men
men hvis du bare bruker dem fra PowerShell, er det sannsynligvis
mye bedre å bruke profilen din til å starte den
innstillingene. Ved oppstart vil PowerShell kjøre alle .ps1 .
filer den finner i WindowsPowerShell
-katalogen under
Mine dokumenter-mappen. Vanligvis har du en profile.ps1 .
fil allerede der. Banen på datamaskinen min er
C:\Users\JaredPar\Documents\WindowsPowerShell\profile.ps1
Du kan også endre bruker- / systemmiljøvariabler permanent (dvs. vil være vedvarende på tvers av omstart av skallet) med følgende:
Endre en systemmiljøvariabel
[Environment]::SetEnvironmentVariable
("Path", $env:Path, [System.EnvironmentVariableTarget]::Machine)
Endre en brukermiljøvariabel
[Environment]::SetEnvironmentVariable
("INCLUDE", $env:INCLUDE, [System.EnvironmentVariableTarget]::User)
Bruk fra kommentarer - legg til i systemmiljøvariabelen
[Environment]::SetEnvironmentVariable(
"Path",
[Environment]::GetEnvironmentVariable("Path", [EnvironmentVariableTarget]::Machine) + ";C:\bin",
[EnvironmentVariableTarget]::Machine)
Strengbasert løsning er også mulig hvis du ikke ønsker å skrive typer
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\bin", "Machine")