Wie drucke ich Umgebungsvariablen auf der Konsole in PowerShell?

115

Ich beginne mit der Verwendung von PowerShell und versuche herauszufinden, wie echoeine Systemumgebungsvariable auf der Konsole gelesen werden kann.

Keiner der folgenden Punkte funktioniert. Der erste druckt nur %PATH%und der zweite druckt nichts.

echo %PATH%
echo $PATH
Kitfox
quelle
10
echo $env:Path
EBGreen

Antworten:

173

Stellen Sie dem Variablennamen Folgendes voran env:

$env:path

Sie können auch alle Variablen über das envLaufwerk auflisten:

Get-ChildItem env:
Mathias R. Jessen
quelle
21
Ich mag $Env:Path.Split(';')mich (gebe ein Verzeichnis pro Zeile aus).
Bill_Stewart
1
Sicher oder$env:Path -split ';'
Mathias R. Jessen
1
@AmirKatz Die Ausgabe ist die gleiche, weil die beiden Operationen genau das gleiche tun :) -splitist ein Regex-Operator, String.Split()nicht
Mathias R. Jessen
3
für den kurzen Gebrauchgci env:
navigaid
5

Neben Mathias Antwort.

Obwohl in OP nicht erwähnt, müssen Sie Folgendes verwenden, wenn Sie auch die Powershell- spezifischen / verwandten internen Variablen anzeigen möchtenGet-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
...

Dazu gehören auch Dinge, die Sie möglicherweise in Ihrem Profilstart-Skript festgelegt haben.

not2qubit
quelle