PowerShell: Env: หลีกเลี่ยงการตัดตัวแปรสภาพแวดล้อม


17

PowerShell แสดงตัวแปรสภาพแวดล้อมหนึ่งบรรทัดสำหรับแต่ละบรรทัด หากตัวแปรมีค่าเพียงพอนานมันจะถูกตัดทอนและผนวกจุดไข่ปลา:

> gci env:

Name                           Value
----                           -----
<suppressed lines>
PSModulePath                   C:\Windows\system32\WindowsPowerSh...
<suppressed lines>

มีวิธีการรับค่าเต็มสำหรับ vars ทั้งหมดในครั้งเดียวเช่นเดียวกับในคำสั่ง cmd มาตรฐาน? (คำตอบที่ให้สำหรับPowershell get-childitem env: path ส่งคืนรูปไข่หนึ่งบรรทัดวิธีการมีบางสิ่งที่มีประโยชน์จะไม่นำไปใช้)


ฉันใช้เวลาหนึ่งชั่วโมงในการค้นหาวิธีรับ PowerShell เพื่อแสดงเนื้อหาทั้งหมดของตัวแปรสภาพแวดล้อมเส้นทางของฉัน มันตัดให้เหลือเพียง 2452 ตัวอักษรโดยมีหรือไม่มีเครื่องหมายจุดไข่ปลาแม้ว่าฉันจะระบุการจัดรูปแบบที่กว้างขึ้น สิ่งนี้ทำให้เป็นไปไม่ได้ที่จะปฏิบัติต่อ PS เป็นอย่างอื่นนอกจากมีประโยชน์เล็กน้อย ความเห็นของฉันเกี่ยวกับ PS คือมันเป็น POS และไม่มีอะไรเปลี่ยนแปลง ฉันอ่านบล็อกหลายร้อยบล็อกและผลการค้นหาและไม่มีใครแก้ปัญหาได้ ไม่แม้แต่ที่นี่
Suncat2000

คำตอบ:


23

การจัดรูปแบบเริ่มต้นจะถูกตัดให้ระบุ -Wrap และดูเอาต์พุตเต็ม

gci env: | Format-Table -Wrap -AutoSize

ผลลัพธ์

PSModulePath            C:\Users\KNUCKLE-DRAGGER\Documents\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules\

หรือถ้าคุณต้องการผลลัพธ์ที่จะจำลอง cmd.exe อย่างแน่นอนลอง

cmd /c start /b set

ผลลัพธ์

PSModulePath=C:\Users\KNUCKLE-DRAGGER\Documents\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules\

นี่เป็นสิ่งที่ดีมากอยู่แล้ว วิธีการรับรูปแบบเดียวกันกับพรอมต์คำสั่งมาตรฐาน? อาจจะเรียก cmd.exe จากพรอมต์ PowerShell?
sancho.s ReinstateMonicaCellio

ดีนั่นคือสิ่งที่ฉันเสนอ
sancho.s ReinstateMonicaCellio

4

หากคุณต้องการจำลองsetเอาท์พุทจาก PowerShell โดยไม่ต้องเรียกใช้cmdลอง:

dir env: | %{"{0}={1}" -f $_.Name,$_.Value}

มีการพิมพ์จำนวนมากดังนั้นให้ห่อในฟังก์ชัน:

function set {dir env: | %{"{0}={1}" -f $_.Name,$_.Value}}

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