- PowerShell membolehkan anda memasang fon untuk kedua-dua sistem dan pengguna tertentu.
- Skrip boleh digunakan dengan AddFontResource dan Registry untuk pemasangan yang berterusan.
- Terdapat alternatif moden seperti memasang fon daripada Nerd Fonts untuk menyesuaikan terminal.
- Ia adalah mungkin untuk mengautomasikan proses pemasangan besar-besaran tanpa perlu menjadi pentadbir.

Pernahkah anda menemui berpuluh-puluh fon yang perlu anda pasang pada sistem anda? Windows dan anda tidak mahu melakukannya satu persatu? Atau adakah anda ingin mengautomasikan proses untuk menggunakan ia ke beberapa mesin daripada satu skrip atau penempatan? PowerShell, konsol pengurusan Windows yang berkuasa, boleh membantu anda melakukan perkara itu, sama ada anda seorang pentadbir atau tidak.
Dalam artikel ini kami mengajar anda cara memasang fon menggunakan PowerShell, meliputi segala-galanya daripada yang paling asas—seperti menyalin fail ke folder Font—hingga mengedit Windows Registry untuk mendaftarkan fon sebagai dipasang. Kami juga akan meneroka cara mengautomasikan tugas ini secara pukal, perkara yang perlu dilakukan jika anda tidak mempunyai keistimewaan pentadbir dan cara anda boleh menyesuaikan PowerShell dengan alatan seperti Oh My Posh dan Fonts Nerd.
Apakah yang anda perlu ketahui sebelum memasang fon daripada PowerShell?
Windows menguruskan fon yang dipasang menggunakan dua mekanisme utama: sistem fail, melalui folder %windir%\Fonts, dan Windows Registry, di mana indeks dikekalkan yang membolehkan sistem mengesan dan memuatkan fon.
Untuk fon dikenali dengan betul oleh sistem, tidak cukup dengan hanya menyalinnya ke folder Font; ia juga perlu didaftarkan di Pejabat Pendaftaran. Terdapat fungsi khusus untuk tugas ini, seperti AddFontResource y AddFontResourceEx.
Pemasangan fon sementara dengan PowerShell
Jika anda hanya memerlukan satu sumber untuk tersedia semasa sesi semasa, anda boleh mengecasnya buat sementara waktu menggunakan AddFontResource. Adalah penting untuk ambil perhatian bahawa ia akan dipadamkan apabila but semula sistem:
public static extern int AddFontResource(string lpszFilename);
$fuente = "C:\ruta\a\tu\fuente.ttf"
AddFontResource $fuente
Kaedah ini hanya sah semasa sesi aktif.Jika anda mahu fon kekal dipasang selepas but semula sistem, anda perlu melakukan pemasangan yang berterusan.
Memasang fon secara kekal menggunakan PowerShell

Untuk pemasangan berterusan, anda perlu menyalin sumber ke folder tertentu daripada sistem (%windir%\Fonts) dan kemudian daftarkan namanya dalam 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)
Selepas mendaftar fon, adalah dinasihatkan untuk menghantar mesej perubahan kepada sistem untuk membolehkan aplikasi mengenali fon baharu tanpa dimulakan semula:
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
Automatikkan pemasangan fon pukal daripada folder
Apabila anda mempunyai banyak fon untuk dipasang, melakukannya satu demi satu tidak boleh dilaksanakan.Alternatifnya ialah menggunakan skrip yang secara automatik mengesan dan memproses setiap fail daripada folder dan subfoldernya, seperti skrip .bat.
Pendekatan klasik dan masih sah dalam PowerShell ialah menggunakan skrip yang melalui semua fail .ttf dan .otf, menyalinnya dan mendaftarkannya:
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
}
Untuk semua ini berfungsi, PowerShell mesti berjalan dengan keistimewaan pentadbir.Jika tidak, ia akan gagal untuk mengakses sistem pendaftaran atau folder Font.
Memasang fon tanpa keistimewaan pentadbir
Dalam persekitaran yang anda tidak mempunyai kebenaran pentadbir, masih boleh memasang fon secara setempat untuk pengguna semasa. Microsoft membenarkan ini sejak Windows 10 melalui pilihan "Pasang untuk saya sahaja".
Selain itu, anda boleh menggunakan pembolehubah persekitaran $env:LOCALAPPDATA untuk menyalin fon ke subfolder Font pengguna. Walaupun ia tidak akan tersedia untuk semua apl, ia akan berfungsi dalam kebanyakan apl moden.
Beberapa alat seperti regfont.exe membolehkan anda mendaftar sumber daripada dalam talian arahan walaupun tanpa kebenaran yang tinggi: Maklumat lanjut tentang mengurus tambahan dalam Office.
Pendekatan ini menjadikan pemasangan lebih mudah dalam persekitaran terkunci atau menyekat dasar., seperti sekolah atau perniagaan.
Menyesuaikan PowerShell dengan Oh My Posh dan Font Nerd
Trend yang semakin meningkat ialah untuk menyesuaikan konsol PowerShell dengan gaya visual yang lebih menarik dan berfungsi.Alat Oh My Posh membolehkan anda menggunakan tema pada gesaan anda dan memerlukan fon khas: Font Nerd.
Fon ini termasuk ikon dan glyph berguna yang menjadikan gesaan lebih bermaklumat. Untuk melakukan ini, anda perlu memasang fon seperti Font Nerd MesloLGM, sama ada untuk semua pengguna atau hanya pengguna semasa.
Pasang Font Nerd daripada PowerShell
Jika anda mempunyai WinGet dikonfigurasikan, anda boleh terus memasang fon: Panduan untuk memasang Kodi pada TV Pintar
winget install --id=Ryanoasis.NerdFonts.Meslo --scope=user
Seterusnya, anda perlu mengkonfigurasi terminal atau Kod Visual Studio anda untuk menggunakan fon baharu sebagai lalai. Untuk melakukan ini:
- Buka Tetapan Terminal Windows (Ctrl + ,)
- mengedit fail
settings.json - Tambahkan harta
"font.face": "MesloLGM Nerd Font"dalam profil yang dikehendaki
Edit profil PowerShell untuk menggunakan tema
PowerShell membolehkan anda mengkonfigurasi profil yang dijalankan setiap kali anda membuka konsol. Untuk menggunakan tema Oh My Posh anda mesti mengedit fail yang ditunjukkan oleh pembolehubah $PROFILE dan tambah arahan seperti ini:
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\zash.omp.json" | Invoke-Expression
Ini akan menggunakan tema pilihan anda secara automatik setiap kali anda memulakan PowerShell.
Menyelesaikan masalah ralat paparan aksara dalam PowerShell
Dalam sesetengah sistem di mana bahasa seperti Cina, Jepun atau Korea digunakan, konsol PowerShell mungkin menghadapi masalah memaparkan aksara dengan betul. Isu ini biasanya berkaitan dengan fon lalai.
Satu penyelesaian ialah menukar fon yang digunakan oleh PowerShell secara manual kepada yang serasi, seperti MS Gothic, yang boleh anda lakukan daripada sifat tetingkap PowerShell.
Panjangkan persekitaran PowerShell anda dengan modul yang berguna
Selain memasang fon, anda boleh meningkatkan lagi pengalaman konsol anda dengan alatan tambahan: untuk menambah baik pengalaman PowerShell.
- PSReadLine: Meningkatkan penyuntingan baris arahan dengan warna dan pelengkapan automatik.
- Winfetch: Memaparkan maklumat sistem secara visual.
- Memukul: alternatif kepada kucing, dengan penyerlahan sintaks.
- calvary: Penggantian moden untuk ls, dengan sokongan untuk git dan metadata.
Setiap modul ini boleh dipasang dengan mudah daripada PowerShell dan dikonfigurasikan dalam profil anda untuk meningkatkan aliran kerja harian anda.
Memasang fon melalui PowerShell bukan sahaja boleh dilakukan, tetapi juga praktikal.Daripada memuatkan fon buat sementara waktu kepada memasang secara kekal, kepada menyesuaikan konsol anda dengan alat visual, teknik ini merangkumi pelbagai senario. Selain itu, dengan pilihan untuk mengautomasikan proses secara pukal atau tanpa kebenaran pentadbir, ia menjadi penyelesaian tangkas untuk pengguna rumah dan persekitaran perniagaan.
Penulis yang bersemangat tentang dunia bait dan teknologi secara umum. Saya suka berkongsi pengetahuan saya melalui penulisan, dan itulah yang akan saya lakukan dalam blog ini, menunjukkan kepada anda semua perkara yang paling menarik tentang alat, perisian, perkakasan, trend teknologi dan banyak lagi. Matlamat saya adalah untuk membantu anda mengemudi dunia digital dengan cara yang mudah dan menghiburkan.