Board logo

标题: [系统相关] [已解决]批处理怎样安装字体? [打印本页]

作者: guaiwu    时间: 2011-7-3 13:56     标题: [已解决]批处理怎样安装字体?

最近公司给我出了道难题。
公司要求我对公司多有电脑的字体安装统一,(c:\windows\fonts文件夹的字体)但是公司的电脑有上百台。要我一台一台手动安装,岂不是要累死人。
有哪位仁兄能帮帮忙,帮我解决这个难题

我用过xcopy,但是总要出现

每一个文件重复就提示一次,一千多个文件就有提示好几百次,烦死了。
后来,我用vbs写一个脚本自动执行键盘键"n",可能是速度太快繁忙,把电脑都弄蓝屏了。

求...
作者: tms2010    时间: 2011-7-3 14:00

加上/y参数
作者: Demon    时间: 2011-7-3 14:27

果然很消遣
作者: tmplinshi    时间: 2011-7-3 15:29

本帖最后由 tmplinshi 于 2011-7-3 15:35 编辑

可以这样安装字体吗?我试了一下,看不到新安装的字体。难道要重启?

可以用 fontreg
  1. rem 安装当前目录所有字体
  2. fontreg /copy
复制代码

作者: temp    时间: 2011-7-3 15:49

安装上的字体怎么调用?
作者: guaiwu    时间: 2011-7-3 15:55

4# tmplinshi


请问 那个是命令吗 ?  我查了fontreg /?  都查不到。
作者: guaiwu    时间: 2011-7-3 15:55

5# temp


这个问题  我也执着着
作者: guaiwu    时间: 2011-7-3 15:56

2# tms2010


xcopy 有/y这个参数吗?
作者: tmplinshi    时间: 2011-7-3 16:13

2# tms2010


xcopy 有/y这个参数吗?
guaiwu 发表于 2011-7-3 15:56

xcopy /?
作者: tmplinshi    时间: 2011-7-3 16:17

本帖最后由 tmplinshi 于 2011-7-3 16:29 编辑
4# tmplinshi


请问 那个是命令吗 ?  我查了fontreg /?  都查不到。
guaiwu 发表于 2011-7-3 15:55


确实用 /? 看不到帮助。在 readme.txt 里面:
If you...

...run FontReg.exe without any command-line switches:

  * FontReg will remove any stale font registrations in the registry.
  * FontReg will repair any missing font registrations for fonts located in
    the C:\Windows\Fonts directory (this step will be skipped for .fon fonts if
    FontReg cannot determine which fonts should have "hidden" registrations).

...run FontReg.exe with the /copy or /move switch:

  * FontReg will install all files with a .fon, .ttf, .ttc, or .otf file
    extension located in the CURRENT DIRECTORY (which might not necessarily be
    the directory in which FontReg is located).  Installation will entail
    copying/moving the files to C:\Windows\Fonts and then registering the fonts.
  * FontReg will remove any stale font registrations in the registry.
  * FontReg will repair any missing font registrations for fonts located in
    the C:\Windows\Fonts directory (this step will be skipped for .fon fonts if
    FontReg cannot determine which fonts should have "hidden" registrations).

FontReg.exe is intended as a replacement for Microsoft's outdated fontinst.exe,
and like fontinst.exe, FontReg.exe is fully silent--it will not print messages,
pop up dialogs, etc.; the process exit code will be 0 if there was no error.

作者: temp    时间: 2011-7-3 17:34

  1. xcopy "h:\Fonts\*.ttf" "C:\WINDOWS\Fonts\"
复制代码

作者: CUer    时间: 2011-7-3 17:36

8# guaiwu


你自己试试就知道有没有了
作者: temp    时间: 2011-7-3 17:37

  1. XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W]
  2.                            [/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U]
  3.                            [/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z]
  4.                            [/EXCLUDE:file1[+file2][+file3]...]
  5.   source       指定要复制的文件。
  6.   destination  指定新文件的位置和/或名称。
  7.   /A           只复制有存档属性集的文件,
  8.                但不改变属性。
  9.   /M           只复制有存档属性集的文件,
  10.                并关闭存档属性。
  11.   /D:m-d-y     复制在指定日期或指定日期以后更改的文件。
  12.                如果没有提供日期,只复制那些源时间
  13.                比目标时间新的文件。
  14.   /EXCLUDE:file1[+file2][+file3]...
  15.                指定含有字符串的文件列表。每一个字符串
  16.                必须在文件的单独行中。如果有任何
  17.                字符串与要被复制的文件的绝对路径
  18.                相符,那个文件将不会得到复制。
  19.                例如,指定如 \obj\ 或 .obj 的字符串会排除
  20.                目录 obj 下面的所有文件或带有
  21.                .obj 扩展名的文件。
  22.   /P           创建每个目标文件前提示。
  23.   /S           复制目录和子目录,除了空的。
  24.   /E           复制目录和子目录,包括空的。
  25.                与 /S /E 相同。可以用来修改 /T。
  26.   /V           验证每个新文件。
  27.   /W           提示您在复制前按键。
  28.   /C           即使有错误,也继续复制。
  29.   /I           如果目标不存在,又在复制一个以上的文件,
  30.                则假定目标一定是一个目录。
  31.   /Q           复制时不显示文件名。
  32.   /F           复制时显示完整的源和目标文件名。
  33.   /L           显示要复制的文件。
  34.   /G           允许将没有经过加密的文件复制到
  35.                不支持加密的目标。
  36.   /H           也复制隐藏和系统文件。
  37.   /R           覆盖只读文件。
  38.   /T           创建目录结构,但不复制文件。
  39.                不包括空目录或子目录。/T /E 包括
  40.                空目录和子目录。
  41.   /U           只复制已经存在于目标中的文件。
  42.   /K           复制属性。一般的 Xcopy 会重置只读属性。
  43.   /N           用生成的短名复制。
  44.   /O           复制文件所有权和 ACL 信息。
  45.   /X           复制文件审核设置(隐含 /O)。
  46.   /Y           复制文件审核设置(隐含 /O)。
  47.                现存目标文件。
  48.   /-Y          导致提示以确认改写一个
  49.                现存目标文件。
  50.   /Z            用重新启动模式复制网络文件。
  51. 命令行开关 /Y 可以预先在 COPYCMD 环境变量中设置。
  52. 这可能被命令行上的 /-Y 改写。
复制代码

作者: guaiwu    时间: 2011-7-4 19:36     标题: 安装字体库

求一个用命令安装字体库的命令。、

例如:我下载了一个字体库,大概有上千个字体,但是有很多字体都是本身电脑有安装的了,没装到的时候就会提示先删掉原来再按新字体。
反反复复好麻烦啊。
求一个能帮忙解决的办法。

小弟也懂点命令用法,但是不是很深。如果有的话,把命令写说来,大家一起帮忙编写bat
作者: CUer    时间: 2011-7-4 20:00

http://bbs.bathome.net/thread-13103-1-1.html
跟这个不一样?
作者: guaiwu    时间: 2011-7-5 19:41

二楼的 ! 那是一样但问题更明确了我想要的答案
作者: gqy0923    时间: 2011-7-8 14:05

那就先用命令将fonts文件夹删除,然后再安装,这样是否可以?
作者: gobi918    时间: 2012-4-28 23:32

echo A|XCOPY 应该可以的
作者: hlzj88    时间: 2015-10-16 17:34

不想挖坟  只是把自己最后成功的结果放这里,便于大家看到
我也是网上搜索了,如果仅仅是把字体文件复制到font文件夹,那是容易的,但关键就是要出现手动后的安装过程,下面的可以实现,须和字体放在一起
  1. @echo off&setlocal ENABLEEXTENSIONS
  2. @echo 开始安装字体,请稍候片刻............
  3. for /f %%a in ('dir *.ttf /b') do (
  4. dir %windir%\fonts\%%a>nul 2>nul||(copy %%a %windir%\fonts>nul 2>nul&rundll32.exe gdi32.dll,AddFontResourceA %windir%\fonts\%%a)
  5. )
  6. pause
复制代码
这里关键是最后的注册字体过程。
作者: pcl_test    时间: 2015-10-16 19:26

本帖最后由 pcl_test 于 2015-10-24 16:59 编辑
  1. @echo off
  2. ::字体所在完整路径
  3. set "zt=D:\华康少女文字简W5.ttc"
  4. ::安装字体
  5. mshta "javascript:new ActiveXObject('Shell.Application').NameSpace(20).CopyHere('%zt:\=\\%',0x0010);close()"
  6. pause
复制代码

作者: wzdlpc    时间: 2015-10-24 15:47

回复 20# pcl_test

非常感谢!
找了许久总算找到能用的命令了!
不过我还有一个问题,如果我要安装一个与系统中现有字体同名的字体,那么运行这个bat后,会提示“XX字体已经安装,你希望替换它吗?”。这样需要用户点击“是(Y)”后,才会继续安装字体。
有什么办法能够让字体在安装的时候,直接覆盖掉系统中同名的字体,而不用用户自己手动点击呢?
如果版主有时间的话,麻烦指点一下,谢谢。
作者: 依山居    时间: 2015-10-24 16:33

回复 21# wzdlpc


    How do I install a font from the Windows command prompt? http://superuser.com/questions/2 ... dows-command-prompt

有一个思路是检查目标字体存不存。
作者: 依山居    时间: 2015-10-24 16:48

autoinstallfont https://github.com/Michael00767/autoinstallfont
作者: pcl_test    时间: 2015-10-24 17:00

回复 21# wzdlpc

已修改,直接覆盖
作者: CrLf    时间: 2015-10-24 17:48

回复 23# 依山居


    已上传,顺便把作者老窝扒了,搜刮一堆第三方
作者: wzdlpc    时间: 2015-10-24 21:04

回复 24# pcl_test

谢谢,可是还是会提示是否替换字体,而不是直接覆盖安装,不知道为什么。
作者: wzdlpc    时间: 2015-10-24 21:25

回复 23# 依山居

谢谢,复制与覆盖字体没有问题,就是在注册的时候出了问题,不知道是怎么回事?
难道FontRegx86.exe要另外下载吗?
作者: 依山居    时间: 2015-10-24 22:01

回复 27# wzdlpc


    是的。
作者: wzdlpc    时间: 2015-10-25 12:19

回复 28# 依山居

谢谢,到网上找找这个两个exe。
作者: wzdlpc    时间: 2015-10-25 12:23

回复 24# pcl_test

根据你给的参数,百度到了其它参数,比如“0x0008 如果以存在目标则形成“复件 JavaScript.zip””,但试了下还是没有效果,使用0x0008依然会提示“该字体已安装,是否替换”。
我想,是否因为是字体文件的原因,所以拷贝参数不起作用。
作者: freesoft00    时间: 2016-9-2 18:18

回复 19# hlzj88
系统中有一个设置,可以打开安装快捷方式字体。就是字体可以不复制到font目录。
这样的安装方式如何做到批量安装?
作者: zhaolu133    时间: 2021-5-14 15:59

回复 4# tmplinshi


    tks
作者: 1152    时间: 2021-5-14 17:35

回复 32# zhaolu133


    禁止TOP老帖子




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2