วิธีการติดตั้งแบบอักษรใน Windows โดยใช้ PowerShell ทีละขั้นตอน

การปรับปรุงครั้งล่าสุด: 25/06/2025
ผู้แต่ง: ไอแซก
  • PowerShell ช่วยให้คุณสามารถติดตั้งแบบอักษรสำหรับทั้งระบบและผู้ใช้เฉพาะได้
  • สามารถใช้สคริปต์ร่วมกับ AddFontResource และ Registry เพื่อการติดตั้งแบบถาวร
  • มีทางเลือกที่ทันสมัย ​​เช่น การติดตั้งแบบอักษรจาก Nerd Fonts เพื่อปรับแต่ง สถานีปลายทาง.
  • เป็นไปได้ที่จะทำให้กระบวนการติดตั้งจำนวนมากเป็นแบบอัตโนมัติโดยไม่จำเป็นต้องเป็นผู้ดูแลระบบ

ฟอนต์ PowerShell

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

ในบทความนี้เราจะสอนวิธีการติดตั้งแบบอักษรโดยใช้ PowerShellครอบคลุมทุกอย่างตั้งแต่ขั้นพื้นฐานที่สุด เช่น การคัดลอกไฟล์ไปยังโฟลเดอร์ Fonts ไปจนถึงการแก้ไขรีจิสทรีของ Windows เพื่อลงทะเบียนแบบอักษรตามที่ติดตั้งไว้ นอกจากนี้ เราจะสำรวจวิธีการทำให้งานนี้เป็นแบบอัตโนมัติเป็นกลุ่ม สิ่งที่ต้องทำหากคุณไม่มีสิทธิ์ของผู้ดูแลระบบ และวิธีปรับแต่ง PowerShell ด้วยเครื่องมือเช่น Oh My Posh และ Fonts Nerd

คุณต้องทราบอะไรบ้างก่อนที่จะติดตั้งแบบอักษรจาก PowerShell?

Windows จัดการแบบอักษรที่ติดตั้งโดยใช้กลไกหลักสองประการ: ระบบไฟล์ผ่านโฟลเดอร์ %windir%\Fonts และ Windows Registry ที่มีการรักษาดัชนีที่ช่วยให้ระบบตรวจจับและโหลดแบบอักษรได้

เพื่อให้ระบบรู้จักฟอนต์ได้อย่างถูกต้องการคัดลอกไปยังโฟลเดอร์ Fonts เพียงอย่างเดียวไม่เพียงพอ แต่ยังต้องลงทะเบียนใน Registry ด้วย มีฟังก์ชันเฉพาะสำหรับงานนี้ เช่น AddFontResource y AddFontResourceEx.

การติดตั้งฟอนต์ชั่วคราวด้วย PowerShell

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


public static extern int AddFontResource(string lpszFilename);

$fuente = "C:\ruta\a\tu\fuente.ttf"
AddFontResource $fuente

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

  วิธีตรวจสอบสุขภาพของฮาร์ดไดรฟ์หรือ SSD ของคุณด้วย CrystalDiskInfo

การติดตั้งแบบอักษรอย่างถาวรโดยใช้ PowerShell

ฟอนต์ PowerShell

สำหรับการติดตั้งแบบถาวร คุณจำเป็นต้องคัดลอกแหล่งที่มาไปยังโฟลเดอร์ที่ระบุ ของระบบ (%windir%\Fonts) จากนั้นลงทะเบียนชื่อใน Registry

$fuente = "C:\ruta\a\tu\fuente.ttf"
$nombreFuente = "NombreFuente (TrueType)"
$destino = "$env:windir\Fonts\$(Split-Path $fuente -Leaf)"

Copy-Item $fuente -Destination $destino

New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" -Name $nombreFuente -PropertyType String -Value $(Split-Path $fuente -Leaf) -Force

::WriteInt32(::Zero, 0)
::WriteInt32(::Zero, 0)

หลังจากลงทะเบียนฟอนต์แล้วแนะนำให้ส่งข้อความเปลี่ยนแปลงไปยังระบบ เพื่อให้แอปพลิเคชันจดจำแบบอักษรใหม่โดยไม่ต้องรีสตาร์ท:


public static extern IntPtr SendMessage(IntPtr hWnd, int msg, IntPtr wParam, IntPtr lParam);
$WM_FONTCHANGE = 0x001D
$HWND_BROADCAST = 0xffff
SendMessage $HWND_BROADCAST $WM_FONTCHANGE ::Zero ::Zero

ติดตั้งแบบอักษรจำนวนมากโดยอัตโนมัติจากโฟลเดอร์

เมื่อคุณมีแบบอักษรจำนวนมากที่จะติดตั้ง การติดตั้งทีละตัวไม่ใช่เรื่องสะดวกทางเลือกอื่นคือการใช้สคริปต์ที่ตรวจจับและประมวลผลไฟล์แต่ละไฟล์จากโฟลเดอร์และโฟลเดอร์ย่อยโดยอัตโนมัติ เช่น สคริปต์ .bat

แนวทางคลาสสิกและยังใช้ได้ใน PowerShell คือการใช้สคริปต์ที่ตรวจสอบไฟล์ .ttf และ .otf ทั้งหมด คัดลอก และลงทะเบียนไฟล์เหล่านี้:

Get-ChildItem "C:\Fuentes" -Recurse -Include *.ttf, *.otf | ForEach-Object {
    $archivo = $_.FullName
    $nombre = $_.BaseName + " (TrueType)"
    $destino = "$env:windir\Fonts\$($_.Name)"

    Copy-Item $archivo -Destination $destino
    New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" -Name $nombre -PropertyType String -Value $_.Name -Force
}

หากต้องการให้สิ่งทั้งหมดนี้ทำงานได้ PowerShell จะต้องทำงานด้วยสิทธิ์ของผู้ดูแลระบบมิฉะนั้น จะไม่สามารถเข้าถึงรีจิสทรีระบบหรือโฟลเดอร์แบบอักษรได้

การติดตั้งแบบอักษรโดยไม่มีสิทธิ์ผู้ดูแลระบบ

ในสภาพแวดล้อมที่คุณไม่มีสิทธิ์ผู้ดูแลระบบคุณยังสามารถติดตั้งแบบอักษรในเครื่องสำหรับผู้ใช้ปัจจุบันได้ Microsoft อนุญาตให้ทำได้ตั้งแต่ Windows 10 ผ่านตัวเลือก "ติดตั้งสำหรับฉันเท่านั้น"

นอกจากนี้คุณสามารถใช้ตัวแปรสภาพแวดล้อมได้ $env:LOCALAPPDATA เพื่อคัดลอกแบบอักษรไปยังโฟลเดอร์ย่อยแบบอักษรของผู้ใช้ แม้ว่าแบบอักษรเหล่านี้จะไม่พร้อมใช้งานสำหรับแอปทั้งหมด แต่แบบอักษรเหล่านี้สามารถใช้งานได้กับแอปส่วนใหญ่ที่ทันสมัย

เครื่องมือบางอย่างเช่น รีจิฟฟอนต์.exe ให้คุณลงทะเบียนแหล่งข้อมูลจากระบบออนไลน์ได้ คำสั่ง แม้ว่าจะไม่มีสิทธิ์ยกระดับ: ข้อมูลเพิ่มเติมเกี่ยวกับการจัดการ Add-in ใน Office.

  วิธีปรับปรุง Mac เป็น SSD Drive และสลับข้อมูล

แนวทางนี้ทำให้การติดตั้งสะดวกยิ่งขึ้นในสภาพแวดล้อมที่ถูกล็อคหรือมีข้อจำกัดด้านนโยบายเช่นโรงเรียน หรือธุรกิจต่างๆ

การปรับแต่ง PowerShell ด้วย Oh My Posh และแบบอักษร Nerd

แนวโน้มที่เพิ่มขึ้นคือการปรับแต่งคอนโซล PowerShell ด้วยรูปแบบภาพที่โดดเด่นและใช้งานได้จริงมากขึ้นเครื่องมือ Oh My Posh ช่วยให้คุณสามารถใช้ธีมให้กับข้อความของคุณและต้องใช้แบบอักษรพิเศษ: Nerd Fonts

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

ติดตั้งฟอนต์ Nerd จาก PowerShell

หากคุณมี WinGet กำหนดค่าแล้ว คุณสามารถติดตั้งแบบอักษรได้โดยตรง: คำแนะนำในการติดตั้ง Kodi บน Smart TV

winget install --id=Ryanoasis.NerdFonts.Meslo --scope=user

ขั้นต่อไป คุณจะต้องกำหนดค่าเทอร์มินัลหรือ Visual Studio Code ของคุณให้ใช้แบบอักษรใหม่เป็นค่าเริ่มต้น โดยทำดังนี้:

  • เปิดการตั้งค่าเทอร์มินัลของ Windows (Ctrl + ,)
  • แก้ไขไฟล์ settings.json
  • เพิ่มคุณสมบัติ "font.face": "MesloLGM Nerd Font" ภายในโปรไฟล์ที่ต้องการ

แก้ไขโปรไฟล์ PowerShell เพื่อใช้ธีม

PowerShell ช่วยให้คุณกำหนดค่าโปรไฟล์ที่จะทำงานทุกครั้งที่คุณเปิดคอนโซลหากต้องการใช้ธีม Oh My Posh คุณต้องแก้ไขไฟล์ที่ระบุโดยตัวแปร $PROFILE และเพิ่มคำแนะนำเช่นนี้:

oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\zash.omp.json" | Invoke-Expression

ระบบจะใช้ธีมที่คุณต้องการโดยอัตโนมัติทุกครั้งที่คุณเริ่มต้น PowerShell

การแก้ไขปัญหาข้อผิดพลาดการแสดงอักขระใน PowerShell

ในระบบบางระบบที่ใช้ภาษาเช่น จีน ญี่ปุ่น หรือเกาหลีคอนโซล PowerShell อาจมีปัญหาในการแสดงอักขระอย่างถูกต้อง ปัญหานี้มักเกี่ยวข้องกับแบบอักษรเริ่มต้น

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

ขยายสภาพแวดล้อม PowerShell ของคุณด้วยโมดูลที่มีประโยชน์

นอกจากการติดตั้งแบบอักษรแล้ว คุณยังสามารถปรับปรุงประสบการณ์คอนโซลของคุณให้ดีขึ้นด้วยเครื่องมือเพิ่มเติม: เพื่อปรับปรุงประสบการณ์ PowerShell.

  • PSReadLine:ปรับปรุงการแก้ไขบรรทัดคำสั่งด้วยสีและการเติมคำอัตโนมัติ
  • ชนะ: แสดงข้อมูลระบบในรูปแบบภาพ
  • ค้างคาว:ทางเลือกสำหรับแมว พร้อมการเน้นไวยากรณ์
  • โกรธา:การทดแทน ls ที่ทันสมัยพร้อมรองรับ git และ metadata
  วิธีแก้ไขข้อผิดพลาดการเริ่มต้นเกม Battlefield 6 บนพีซี

สามารถติดตั้งโมดูลเหล่านี้แต่ละโมดูลได้อย่างง่ายดายจาก PowerShell และกำหนดค่าในโปรไฟล์ของคุณเพื่อปรับปรุงเวิร์กโฟลว์ประจำวันของคุณ

การติดตั้งแบบอักษรผ่าน PowerShell ไม่เพียงเป็นไปได้ แต่ยังใช้งานได้จริงอีกด้วยตั้งแต่การโหลดฟอนต์ชั่วคราวไปจนถึงการติดตั้งถาวร ไปจนถึงการปรับแต่งคอนโซลของคุณด้วยเครื่องมือภาพ เทคนิคนี้ครอบคลุมสถานการณ์ต่างๆ มากมาย นอกจากนี้ ด้วยตัวเลือกในการทำให้กระบวนการต่างๆ เป็นแบบอัตโนมัติเป็นกลุ่มหรือไม่มีสิทธิ์ของผู้ดูแลระบบ จึงทำให้กลายเป็นโซลูชันที่คล่องตัวสำหรับทั้งผู้ใช้ตามบ้านและสภาพแวดล้อมทางธุรกิจ

เซิร์ฟเวอร์ windows
บทความที่เกี่ยวข้อง:
วิธีดาวน์โหลดและติดตั้ง Windows Server ทีละขั้นตอน