无忧启动论坛

标题: Win7以上系统批处理如何安装字体? [打印本页]

作者: nttwqz    时间: 2017-6-20 20:33
标题: Win7以上系统批处理如何安装字体?
在XP时,用命令复制到Fonts文件夹即可,但是从Win7以后,这种方法失效了,无论copy、xcopy、robocopy、move都不行,重启也不会安装,最好不借助自三方工具。
作者: freesoft00    时间: 2017-6-20 21:23
https://github.com/MichaelIT/autoinstallfont
这个用了第三方,但是是开源的。
作者: 窄口牛    时间: 2017-6-20 21:56
字体安装.rar (6.99 KB, 下载次数: 449)
作者: nttwqz    时间: 2017-6-20 22:48
freesoft00 发表于 2017-6-20 21:23
https://github.com/MichaelIT/autoinstallfont
这个用了第三方,但是是开源的。

这个用了fontreg,这个工具我知道
作者: 2012abc.    时间: 2017-6-20 22:55
win7字体安装很简单呀,打开字体文件夹全选,右键安装就行了
作者: nttwqz    时间: 2017-6-20 23:12
窄口牛 发表于 2017-6-20 21:56

多谢,我是想知道如何不用第三方工具来安装,这个我之前找到了,用起来也很简单,说白了先复制字体到Fonts文件夹,然后执行一下相应的程序即可。
作者: 红毛樱木    时间: 2017-6-20 23:24
fontview.exe
系统自带的工具,试试。后面接字体路径
作者: nttwqz    时间: 2017-6-21 00:15
红毛樱木 发表于 2017-6-20 23:24
fontview.exe
系统自带的工具,试试。后面接字体路径

试了,只能查看或打印,就是不能安装。

测出出来两个参数
/p 字体文件   打印
/d 字体文件   仅查看,安装灰选

作者: 红毛樱木    时间: 2017-6-21 00:24
fontext.dll这个DLL干的事,好像。具体函数你查一下吧
作者: 红毛樱木    时间: 2017-6-21 00:32
rundll32.exe gdi32.dll,AddFontResourceA %windir%\fonts\要安装的字体.ttf
网上找的,试试,先复制再注册
作者: 窄口牛    时间: 2017-6-21 06:55
本帖最后由 窄口牛 于 2017-6-21 07:26 编辑
  1. @echo off
  2. ::字体所在完整路径
  3. set "zt=D:\桌面\font579\font579\腾祥铚谦隶书简.ttf"
  4. ::安装字体
  5. mshta "javascript:new ActiveXObject('Shell.Application').NameSpace(20).CopyHere('%zt:\=\\%',0x0010);close()"
  6. pause
复制代码


您改造把,您比我对批处理玩得转,改好发一下?
作者: nttwqz    时间: 2017-6-21 08:37
红毛樱木 发表于 2017-6-21 00:32
rundll32.exe gdi32.dll,AddFontResourceA %windir%\fonts\要安装的字体.ttf
网上找的,试试,先复制再注 ...

发帖前试了,无效
作者: nttwqz    时间: 2017-6-21 08:46
窄口牛 发表于 2017-6-21 06:55
您改造把,您比我对批处理玩得转,改好发一下?

我也不会js,这个发帖前我也看了,还是您来改吧,何况目前不想通过js或者vbs实现

现在用的fontreg,执行一下也很简单,我只是怕这软件年代久远会产生异常问题,主要是想研究下不用第三方怎么装
作者: 窄口牛    时间: 2017-6-21 10:02
本帖最后由 窄口牛 于 2017-6-21 10:03 编辑

只改前半部分,获取字体文件列表,然后依照文件列表执行安装。
后半个确实不敢改。
作者: nttwqz    时间: 2017-6-21 10:18
红毛樱木 发表于 2017-6-21 00:24
fontext.dll这个DLL干的事,好像。具体函数你查一下吧

函数怎么查,有没有具体网站,之前搜了半天fontext.dll也没见什么有用的东东

右键字体菜单有个安装,要是能用系统原生的功能安装就好了
作者: guies    时间: 2017-6-22 09:41
這個 vbs 可以安裝當前文件夾下的所有字型,
若想連這個檔都省略,那就把這個 .vbs 轉成 .bat 吧

  1. Set ofso = CreateObject("Scripting.FileSystemObject")
  2. SourceFolder = ofso.GetParentFolderName(Wscript.ScriptFullName)

  3. Const FONTS = &H14&

  4. Set objShell  = CreateObject("Shell.Application")
  5. Set oSource   = objShell.Namespace(SourceFolder)
  6. Set oWinFonts = objShell.Namespace(FONTS)

  7. ' Lame VBscript needs 4 f*ing lines instead of "if (/\.ttf$/i) " ...
  8. Set rxTTF = New RegExp
  9. rxTTF.IgnoreCase = True
  10. rxTTF.Pattern = "\.ttf$"

  11. FOR EACH FontFile IN oSource.Items()
  12.     IF rxTTF.Test(FontFile.Path) THEN   
  13.         oWinFonts.CopyHere FontFile.Path
  14.     END IF
  15. NEXT
复制代码

作者: 窄口牛    时间: 2017-6-22 13:32
楼上测试没问题
上传为附件
字体安装.rar (456 Bytes, 下载次数: 1730)
作者: nttwqz    时间: 2017-6-22 21:57
guies 发表于 2017-6-22 09:41
這個 vbs 可以安裝當前文件夾下的所有字型,
若想連這個檔都省略,那就把這個 .vbs 轉成 .bat 吧

多谢兄台,又多了一种安装字体的方式
作者: 17488    时间: 2018-12-8 23:37
窄口牛 发表于 2017-6-20 21:56

谢谢我下来试试
作者: qawandaz27    时间: 2018-12-19 10:08
vbs怎么转bat?
作者: softhand    时间: 2019-1-7 08:54
17楼给出的不是批处理啊,也是vbs
作者: yybl    时间: 2019-12-25 16:51
窄口牛 发表于 2017-6-20 21:56

非常感谢!@@
作者: kensan    时间: 2020-3-4 16:05
fontreg.exe
作者: beybeyk    时间: 2020-10-9 20:32
窄口牛 发表于 2017-6-22 13:32
楼上测试没问题
上传为附件

又多了一种安装字体的方法
作者: dschief    时间: 2023-5-11 12:43
窄口牛 发表于 2017-6-20 21:56

我也來試試
作者: sky4080    时间: 2023-7-12 13:04
我也来试试!!
作者: M_zero    时间: 2023-7-26 21:32
感谢分享
作者: tilltotell007    时间: 2024-2-12 12:55
感谢,这个我有用




欢迎光临 无忧启动论坛 (http://wuyou.net./) Powered by Discuz! X3.3