Comment imprimer des variables d'environnement sur la console dans PowerShell?

118

Je commence à utiliser PowerShell et j'essaie de comprendre comment echoune variable d'environnement système sur la console pour la lire.

Aucun des éléments ci-dessous ne fonctionne. Le premier imprime simplement %PATH%et le second n'imprime rien.

echo %PATH%
echo $PATH
kitfox
la source

Réponses:

176

Préfixez le nom de la variable avec env:

$env:path

Vous pouvez également énumérer toutes les variables via le envvariateur:

Get-ChildItem env:
Mathias R. Jessen
la source
21
Je $Env:Path.Split(';')m'aime bien (sortie un répertoire par ligne).
Bill_Stewart
1
Pour sûr, ou$env:Path -split ';'
Mathias R. Jessen
1
@AmirKatz La sortie est la même, car les deux opérations font exactement la même chose :) -splitest un opérateur regex, String.Split()n'est pas
Mathias R. Jessen
3
pour une utilisation courtegci env:
navigaid
6

En plus de la réponse de Mathias.

Bien que cela ne soit pas mentionné dans OP, si vous avez également besoin de voir les variables internes spécifiques / liées à Powershell , vous devez utiliser Get-Variable:

$ Get-Variable

Name                           Value
----                           -----
$                              name
?                              True
^                              gci
args                           {}
ChocolateyTabSettings          @{AllCommands=False}
ConfirmPreference              High
DebugPreference                SilentlyContinue
EnabledExperimentalFeatures    {}
Error                          {System.Management.Automation.ParseException: At line:1 char:1...
ErrorActionPreference          Continue
ErrorView                      NormalView
ExecutionContext               System.Management.Automation.EngineIntrinsics
false                          False
FormatEnumerationLimit         4
...

Celles-ci incluent également des éléments que vous avez peut-être définis dans le script de démarrage de votre profil.

not2qubit
la source