Windows:从cmd / .bat文件安装字体

任何人都知道如何通过命令提示符在Windows安装字体文件(.ttf,.TTF,.otf,.OTF等等)?

据我了解,它需要将文本文件移动到正确的文件夹,然后还创build一个registry值我想? 但我还没有find一个确认工作。

一个说明:我使用的是Windows 8,所以可能会有所作为。

另一个说明:我想要做的是从MKV文件中批量安装字体。 (所以这将是一个更大的.bat文件的一部分的function,如果需要我可以发布代码)

您将需要使用PowerShell或VB脚本。 他们基本上重复使用在Windows资源管理器中做同样的事情的外壳组件,他们不需要重新启动。

请参阅此处的PowerShell脚本,该脚本安装目录中的所有字体: http : //social.technet.microsoft.com/Forums/fr-FR/winserverpowershell/thread/fcc98ba5-6ce4-466b-a927-bb2cc3851b59

另外,您需要以管理员模式运行脚本。 因此,如果PowerShell脚本是InstallFonts.ps1,那么您的批处理文件需要如下所示:

powershell -command "Set-ExecutionPolicy Unrestricted" 2>> err.out powershell .\InstallFonts.ps1 2>> err.out 

任何PowerShell错误将出现在与脚本相同的文件夹的“err.out”。

你有没有试过将它们复制到字体的文件夹?

 copy font.ttf %windir%\Fonts 

也许这也是需要的:

 reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "FontName (TrueType)" /t REG_SZ /d FontName.ttf /f 

当你安装一个字体时,只需将.ttf文件复制到%systemroot%\fonts并在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts添加一个条目。 这可以使用批处理文件自动执行,如下所示

 Rem fontinst.bat copy akbar.ttf %systemroot%\fonts regedit /s font.reg 

font.reg将包含以下内容:

 REGEDIT4 \[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts\] "Akbar Plain (TrueType)"="akbar.ttf" 

来源:m.windowsitpro.com

批处理文件示例,它在当前目录中工作。

  IF "%*" NEQ "" SET FONT=%* ( FOR /F %%i in ('dir /b "%FONT%*.*tf"') DO CALL :DEST %%i ) else ( EXIT ) :DEST SET FONTFILE=%~n1%~x1 SET FONTNAME=%~n1 IF "%~x1"==".ttf" SET FONTTYPE=TrueType IF "%~x1"==".otf" SET FONTTYPE=OpenType ECHO FILE = %FONTFILE% ECHO NAME = %FONTNAME:-= % ECHO TYPE = %FONTTYPE% fontview %~dp0%FONTFILE% GOTO :EXIT