Windows一键批量安装字体脚本
前言
不知道大家有没有过,因为工作软件,或者美化系统的需要 『一个个』点击安装字体文件的恐惧支配过 我在折腾 Jopin 主题的时候,由于不同的主题,用到的字体不同,往往需要花很多时间精力去 『一个个』选择,然后点击字体文件安装
不多还好,如果依赖的字体越多,安装字体的过程,简直就是一个噩梦… …
好在有更好的解决方案,解放我们的双手,只要一个程序,和几段小小 bat
代码
开始把!
一、下载 Fontreg.exe 程序
Fontreg.exe 是一个可执行文件,没有图形界面。它可以帮助我们复制、并注册安装字体文件 结合脚本代码(bat、python… ),可以实现批量安装字体文件
- 点击☞ Fontreg-2.1.3地址 下载压缩包
- 你看上的字体文件佳丽们~的压缩包,或者单个字体文件
二、将 Fontreg.exe 添加至环境变量
环境变量,听上去高大上,可以简单理解为某个程序或者文件『快捷方式』 便于我们在任何路径下,去调用添加了快捷方式的『程序或文件』 在 Linux 操作系统下,还有个好东西叫做『软链接』,和快捷方式很像,但是不能和『环境变量』搞混了
为了脚本运行方便,我们将解压得到的 Fontreg.exe
所在路径,添加到系统的环境变量当中
首先,将 Fontreg.exe
所在路径复制下来。
我演示的操作系统是64位,如果你的系统是32位,请复制
x:xx\xx\bin.x86-32\
的路径信息 不然后面运行脚本会出错
然后,添加到环境变量path
中
记得要逐一点击
确定
,才能使修改生效!
比较新的 win10系统环境变量入口如下图所示,打开后按照上面的步骤添加即可
三、编写脚本
在解压得到的字体文件夹c:\xx\Font-ChironSansHKPro-ExtraLight\
根目录下,右键新建一个文本文档,按图片重命名为install_fonts.bat
然后右键通过编辑打开它,将下面的代码复制粘贴进去,并保存。
第二行代码,是给 bat 脚本添加了管理员权限,因为脚本需要把字体文件,复制到系统的
C:\Windows\Fonts
目录下,需要较高的权限
@echo off
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
cd /d %~dp0
set fontExtensions=(ttf otf)
for %%x in %fontExtensions% do (
echo A|xcopy %cd%\*.%%x %windir%\fonts\
)
for /f "delims=" %%i in ('dir /ad/b/s "%cd%"') do (
for %%x in %fontExtensions% do (
echo A|xcopy %%i\*.%%x %windir%\fonts\
)
)
echo "registering font..."
FontReg.exe
echo "Registering complete!"
pause
有兴趣研究了脚本源码的小伙伴,可能发现我改动了倒数第三行的内容 是的,脚本作者没有将
FontReg.exe
添加到系统变量,所以需要%cd%
,并且需要带着FontReg.exe
和脚本一起跑,我在这个基础上做了一些修改。
四、通过脚本一键安装字体
- 把
install_fonts.bat
放置到字体文件所在根目录 - 双击
install_fonts.bat
脚本就会听话的帮我们,把『当前目录』以及『子目录』下的所有后缀为
*.ttf
、*.otf
的字体文件 复制到C:\Windows\Fonts
目录下 并通过FontReg.exe
字体注册工具,安装到系统中供我们使用了。
例如,我们先用这个脚本安装 Font-ChironSansHKPro-ExtraLight
字体,安装之前打开C:\Windows\Fonts
,可以看到,是没有ChironSansHKPro-ExtraLight
字体的
将脚本放置到字体所在目录,双击运行:
运行完成后可以检查下字体有没有安装成功!
脚本会递归查看所有当前目录下的所有子目录,然后逐一复制,然后安装字体。
五、妖精的尾巴
虽然,通过这种方式可以很方便的一键安装字体 但是,有时并不需要,安装所有的字体文件 用不到的字体,不仅浪费空间(有些字体文件很大),而且影响字体安装的效率。
当然可以把需要的字体留下,然后用再用脚本安装字体,也是可以的
挖个坑
也许可以用 python
写一个程序(命令行?GUI?)
目的是,可以方便的选择需要安装的字体,然后一键安装
多是一件美逝啊~