拖动字体到fonts不能安装怎么修复?
本帖最后由 9zhmke 于 2019-2-1 21:22 编辑经bdfcy指点,是由于desktop.ini文件删除导致,补回后完美解决这个问题,2010hook 也指点了可以使用FontInst.exe来做静默安装更方便,在此一并向指点过的不落的太阳致谢
正常情况把字体文件拖动、复制到系统的字体文件夹中,会触发系统的字体安装功能。但从比较早的时候,大多精简系统里陆续去掉了这个功能,拖动就变成了直接复制,随之而来的是依赖于此功能的VBS字体安装的程序也就无法使用了。
因为有些字体设置了限制,比如不能用到PPT中、不能带字体保存于WORD等限制,为了自己方便就编辑了这些权限后打包,然后做成安装包。
近期的三杰SE版非常好用,但因为这个问题却不得不手工安装字体,有什么方法可以解决吗?
附上我使用的VBS安装字体脚本:
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set font = CreateObject("Shell.Application").NameSpace("shell:fonts")
tmp0=Wscript.CreateObject("Wscript.Shell").SpecialFolders("fonts") & "\"'字体文件所在文件夹
for each f in objFSO.getfolder(".").files '文件夹所有文件
tmp1=LCase(f.path)'完整文件名和路径
tmp2=right(tmp1,3)'扩展名
tmp3=asc(left(right(tmp1,4),1)):if tmp3=49 then tmp3=46 '我也不知为什么取出来不是".",只知和系统有关
if tmp3<>46 or objFSO.FileExists(tmp0 & LCase(f.name)) then tmp2="" '扩展名容错或容错fonts下已装字体
if tmp2="ttf" or tmp2="ttc" or tmp2="otf" or tmp2="fon" thenfont.CopyHere(tmp1)
next
VBS中核心语句相同的脚本都不能安装,除非用VBS调用 addApplicationFont,目前网上还没看到这个资料。
這個 vbs 可以安裝當前文件夾下的所有字型
Set ofso = CreateObject("Scripting.FileSystemObject")
SourceFolder = ofso.GetParentFolderName(Wscript.ScriptFullName)
Const FONTS = &H14&
Set objShell= CreateObject("Shell.Application")
Set oSource = objShell.Namespace(SourceFolder)
Set oWinFonts = objShell.Namespace(FONTS)
' Lame VBscript needs 4 f*ing lines instead of "if (/\.ttf$/i) " ...
Set rxTTF = New RegExp
rxTTF.IgnoreCase = True
rxTTF.Pattern = "\.ttf$"
FOR EACH FontFile IN oSource.Items()
IF rxTTF.Test(FontFile.Path) THEN
oWinFonts.CopyHere FontFile.Path
END IF
NEXT 不落的太阳 发表于 2019-2-1 16:32
這個 vbs 可以安裝當前文件夾下的所有字型
Set ofso = CreateObject("Scripting.FileSystemObject") ...
不是这个话题......谢谢你的回答,貌似你没看我的问题是什么?另外,这个程序没我写的那个好用 用支剪了的系统都会有问题的,只是你遇到没 本帖最后由 2010hook 于 2019-2-1 16:53 编辑
9zhmke 发表于 2019-2-1 16:41
不是这个话题......谢谢你的回答,貌似你没看我的问题是什么?另外,这个程序没我写的那个好用
请问怎么使用的?有没有执行语法?
双击后,发现安装速度慢,不能静默执行吗?
FontInst.exe 不好么?速度很快 不落的太阳 发表于 2019-2-1 16:49
用支剪了的系统都会有问题的,只是你遇到没
以前我也认为可能是个大动作,但看到wzzok修复了这个问题所以就提出来看看能不能以比较小的代价解决:
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=411802 本帖最后由 9zhmke 于 2019-2-1 17:12 编辑
2010hook 发表于 2019-2-1 16:50
请问怎么使用的?有没有执行语法?
双击后,发现安装速度慢,不能静默执行吗?
FontInst.exe 不好么 ...
这个就是双击后安装本文件夹中的字体,模拟复制单个字体文件动作以触发安装字体功能,网上流传的VBS脚本都是这样,我也想做成静默的,但做不出来,因为被触发的安装过程是显性的。
以前没用过fontinst.exe,不知道兼容性如何,刚去看了下,感觉还不错,在没找到更合适的方法时就用FontInst.exe了吧,谢谢指点。 9zhmke 发表于 2019-2-1 16:57
以前我也认为可能是个大动作,但看到wzzok修复了这个问题所以就提出来看看能不能以比较小的代价解决:
h ...
那些牛B的都不愿意分享方法 WINDOWS\Fonts\desktop.ini 这个文件丢失或者内容有问题会导致安装字体出问题 不落的太阳 发表于 2019-2-1 17:12
那些牛B的都不愿意分享方法
牛B的人可能事情也会比较多吧,而且牛B的人更擅长于集中精力做事情,到底什么样的才算牛B这个也不好界定
可喜的是楼上也有两位高人出来指点,无忧论坛高手如云 bdfcy 发表于 2019-2-1 17:17
WINDOWS\Fonts\desktop.ini 这个文件丢失或者内容有问题会导致安装字体出问题
是的,从早期系统就是这样了,但精简版是有这个文件的,否则字体会显示字体的文件名而不是字体名字。 bdfcy 发表于 2019-2-1 17:17
WINDOWS\Fonts\desktop.ini 这个文件丢失或者内容有问题会导致安装字体出问题
道个歉,仔细看了看,就是这个问题导致的,复制进去就马上解决问题了。
页:
[1]