J'ai découvert que la définition de la variable d'environnement PATH n'affecte que l'ancienne invite de commande. PowerShell semble avoir des paramètres d'environnement différents. Comment puis-je modifier les variables d'environnement pour PowerShell (v1) ?
Remarque :
Je veux que mes modifications soient permanentes, afin de ne pas avoir à les définir à chaque fois que j'exécute PowerShell. PowerShell possède-t-il un fichier de profil ? Quelque chose comme le profil Bash sous Unix ?
Si, à un moment donné au cours d'une session PowerShell, vous avez besoin de ajouter temporairement à la variable d'environnement PATH, vous pouvez le faire de cette manière :
$env:Path += ";C:\Program Files\GnuWin32\bin"
Le changement des variables d'environnement réelles peut être fait en
en utilisant l'information env : namespace / drive
. Par exemple, ce code
code va mettre à jour la variable d'environnement path :
$env:Path = "SomeRandomPath"; (replaces existing path)
$env:Path += ";SomeRandomPath" (appends to existing path)
Il existe des moyens de rendre les paramètres d'environnement permanents, mais
mais si vous ne les utilisez qu'à partir de PowerShell, il est probablement
beaucoup mieux d'utiliser votre profil pour initier les
paramètres. Au démarrage, PowerShell exécutera tous les fichiers .ps1 qu'il trouvera dans le répertoire WindowsPower'. qu'il trouve dans le répertoire
WindowsPowerShell` sous le dossier
dossier Mes Documents. En général, vous avez un fichier *profile.ps1
qui s'y trouve déjà. Le chemin sur mon ordinateur est
C:\Users\JaredPar\Documents\WindowsPowerShell\profile.ps1
Vous pouvez également modifier les variables d'environnement de l'utilisateur/du système de manière permanente (c'est-à-dire qu'elles seront persistantes lors des redémarrages du shell) à l'aide de la commande suivante :
Modifier une variable d'environnement système
[Environment]::SetEnvironmentVariable
("Path", $env:Path, [System.EnvironmentVariableTarget]::Machine)
Modifier une variable d'environnement utilisateur
[Environment]::SetEnvironmentVariable
("INCLUDE", $env:INCLUDE, [System.EnvironmentVariableTarget]::User)
Utilisation à partir des commentaires - ajouter à la variable d'environnement du système
[Environment]::SetEnvironmentVariable(
"Path",
[Environment]::GetEnvironmentVariable("Path", [EnvironmentVariableTarget]::Machine) + ";C:\bin",
[EnvironmentVariableTarget]::Machine)
Une solution basée sur les chaînes de caractères est également possible si vous ne voulez pas écrire les types de caractères.
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\bin", "Machine")