ทำไมการเรียกใช้ PowerShell จึงเปลี่ยนแบบอักษรคอนโซลของฉัน


16

ฉันมีปัญหาแปลก ๆ บนแล็ปท็อปของฉัน - เมื่อฉันเรียกใช้ Powershell ภายในหน้าต่างคอนโซลที่มีอยู่ตัวเลือกแบบอักษรสำหรับหน้าต่างจะเปลี่ยนไป

ตัวอย่างเช่นนี่คือ cmd.exe ทันทีหลังจากเปิดหน้าต่าง: คอนโซลคำสั่งเมื่อเปิด

แบบอักษรขนาดหน้าต่างและสีที่ใช้นั้นถูกต้องตัวอักษรคือ Lucida Console ที่ 16pt

จากนั้นฉันเรียกใช้PowerShellและนี่คือผลลัพธ์:

ป้อนคำอธิบายรูปภาพที่นี่

แบบอักษรเปลี่ยนเป็น "แบบอักษร Raster" ที่ขนาด 12x16 พิกเซล! คุณสมบัติของหน้าต่างอื่น ๆ - สีจำนวนแถวจำนวนคอลัมน์ - ไม่เปลี่ยนแปลง

ความคิดใด ๆ ว่าทำไมมันเปลี่ยน?

หมายเหตุ: ขณะทำการวิจัยนี้ - เนื่องจากตัวอักษร Raster น่าเกลียดและน่ารำคาญฉันพบผู้อื่นรายงานปัญหาในการตั้งค่าแบบอักษรสำหรับหน้าต่างคอนโซล PowerShell (เช่นคำถาม " ไม่สามารถเปลี่ยนแบบอักษรเริ่มต้น PowerShell เป็น Lucida Console ") แม้ว่าปัญหาของฉันจะแตกต่างกัน (ตั้งแต่ฉันเริ่ม Powershell จากหน้าต่างคอนโซลที่มีอยู่ไม่ใช่จากหน้าจอเริ่มต้น) ฉันสงสัยว่าโซลูชันหนึ่งอาจช่วยอีกปัญหาได้


คุณสามารถใช้ ConEmu และหลีกเลี่ยงปัญหาโดยสิ้นเชิง
dangph

@ChrisLively ah ฉันไม่ได้ตระหนักว่าคำตอบนั้นโพสต์ในวันนี้เท่านั้น ด้วยเหตุผลบางอย่างฉันคิดว่ามันเก่ากว่ามาก ฉันจะลบความคิดเห็นของฉัน
barlop

คำตอบ:


2

ฉันมีปัญหาเดียวกันที่แน่นอนและมันทำให้ฉันรู้สึกแย่ นี่คือสิ่งที่ฉันทำเพื่อแก้ไขให้ถูกต้องหวังว่ามันจะใช้ได้สำหรับคุณเช่นกัน:

1. ) ขณะที่อยู่ใน cmd.exe ให้เรียกใช้คำสั่ง powershell

2. ) ในขณะที่พรอมต์ PowerShell ใน cmd.exe ไปที่การตั้งค่าและเปลี่ยนแบบอักษรเป็น Lucida Console

3. ) ออกจากพรอมต์ powershell และในขณะที่ยังอยู่ใน cmd.exe ไปที่การตั้งค่าและเปลี่ยนแบบอักษรเป็น Lucida Console

4. ) เป็นขั้นตอนพิเศษสำหรับการวัดที่ดีฉันวิ่งstart powershellจาก cmd.exe และเปลี่ยนแบบอักษรด้วย

5. ) ยิ้มตอนนี้ OCD ของฉันสามารถพักผ่อนได้ ตอนนี้เมื่อฉันไปที่ start-> run-> cmd.exe และใช้คำสั่ง powershell มันจะอยู่ที่ Lucida Console

ฉันรีสตาร์ทคอมพิวเตอร์และเปิดใหม่ทุกอย่างและจนถึงตอนนี้ดูเหมือนว่าจะติดอยู่กับฉัน

ฉันหวังว่านี่จะช่วยคุณในการสืบเสาะของคุณ =)


1
ขอบคุณมากสำหรับคำแนะนำ - แต่มันก็ไม่ได้สร้างความแตกต่างให้กับแล็ปท็อปของฉัน :-(
Bevan

2

นี่คือ FYI อย่างน้อยในกรณีที่ช่วยให้ทุกคนได้รับการแก้ไขอย่างรวดเร็ว สิ่งนี้อาจไม่ตอบ WHY แต่ให้วิธีแก้ไขหรือแก้ไขอย่างรวดเร็วถ้าหากจำเป็น

ไปที่TechNet SetConsoleFontและดูรายละเอียดที่นั่นจากนั้นทำตามคำแนะนำด้านล่างและดูที่ส่วนทรัพยากรด้านล่างเช่นกัน

นี่คือที่มาของโมดูล SetConsoleFont ก่อนที่คุณจะสามารถใช้ Set-ConsoleFont cmdlet ได้คุณจะต้องนำเข้าโมดูล ก่อนอื่นให้คัดลอกโมดูลไปยังโปรแกรมแก้ไขในเครื่อง โปรดทราบว่าเมื่อฉันคัดลอกข้อความบรรทัดสุดท้ายมีตัวแบ่งบรรทัดที่ไม่พึงประสงค์ ตรวจสอบให้แน่ใจว่าบรรทัดสุดท้ายของโมดูลมีลักษณะดังนี้:

Export-ModuleMember -Variable _DefaultFont, _hConsoleScreen -Function Set-ConsoleFont, Get-ConsoleFontInfo

ถัดไปคุณต้องจัดเก็บไฟล์ในโฟลเดอร์โมดูลของคุณ ด้วย $ env: PSModulePath บนคอนโซล PowerShell คุณสามารถรับรายการโฟลเดอร์โมดูลของคุณได้ ตัวอย่างเช่นคุณสามารถจัดเก็บโมดูล SetConsoleFont ในโฟลเดอร์โมดูล PowerShell ในไดเรกทอรีเอกสารโดยใช้ชื่อไฟล์ SetConsoleFont.psm1 เช่นนี้:

%USERPROFILE%\Documents\WindowsPowerShell\Modules\SetConsoleFont\SetConsoleFont.psm1

จากนั้นคุณสามารถนำเข้าโมดูลด้วย:

Import-Module SetConsoleFont

ขณะนี้คุณสามารถรับรายการแบบอักษรที่มีอยู่และขนาดของมันด้วย:

Get-ConsoleFontInfo | Format-Table -AutoSize

ในการตั้งขนาดตัวอักษรคุณต้องเลือกตัวเลขจากคอลัมน์ nFont:

Set-ConsoleFont 8

หากต้องการเปลี่ยนขนาดตัวอักษรเป็นค่าเริ่มต้นคุณสามารถเรียกใช้ Set-ConsoleFont โดยไม่มีข้อโต้แย้ง

ทรัพยากร

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