วิธีการพิมพ์ตัวแปรสภาพแวดล้อมไปยังคอนโซลใน PowerShell


121

ฉันเริ่มใช้ PowerShell และกำลังพยายามหาวิธีที่จะechoให้ตัวแปรสภาพแวดล้อมระบบไปยังคอนโซลเพื่ออ่าน

ทั้งสองวิธีด้านล่างไม่ทำงาน ครั้งแรกเพียงแค่พิมพ์%PATH%และครั้งที่สองพิมพ์อะไรเลย

echo %PATH%
echo $PATH

12
echo $env:Path
EBGreen

คำตอบ:


183

นำหน้าชื่อตัวแปรด้วยenv:

$env:path

คุณยังสามารถระบุตัวแปรทั้งหมดผ่านenvไดรฟ์:

Get-ChildItem env:

21
ฉันชอบ$Env:Path.Split(';')ตัวเอง (เอาต์พุตหนึ่งไดเร็กทอรีต่อบรรทัด)
Bill_Stewart

1
อย่างแน่นอนหรือ$env:Path -split ';'
Mathias R. Jessen

1
@AmirKatz ผลลัพธ์เหมือนกันเนื่องจากการดำเนินการทั้งสองทำสิ่งเดียวกัน :) -splitเป็นตัวดำเนินการ regex String.Split()ไม่ใช่
Mathias R. Jessen

4
สำหรับการใช้งานระยะสั้นgci env:
navigaid

6

นอกเหนือจากคำตอบ Mathias

แม้ว่าจะไม่ได้กล่าวถึงใน OP แต่หากคุณต้องการดูตัวแปรภายในเฉพาะ / ที่เกี่ยวข้องของPowershellด้วยคุณต้องใช้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
...

สิ่งเหล่านี้รวมถึงสิ่งที่คุณอาจตั้งไว้ในสคริปต์เริ่มต้นโปรไฟล์ของคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.