域环境users提权调用lsrunase.exe 批处理完成安装字体
admin
2023-02-05 00:40:06
0

字体安装2.0
由于字体安装之前的批处理采用字体文件复制到c:\windows\fonts下再注册注册表的方式,一部分字体安装不上,重新修改了批处理方式。

一. 字体安装批处理
1.vbs脚本运行安装D:\fonts下的字体安装包,安装时fonts.vbs同时会检测C:\windows\fonts\字体名称与D:\fonts里的字体名是否一致,如果存在则忽略掉。缺点:若是表面字体名不一致,会提示重复安装,手动单击选择即可。
参考的事例:
http://blog.jasondahmen.com/2011/11/24/the-true-ultimate-font-install-for-windows-7-and-xp-vbs/
代码如下fonts.vbs
Option Explicit
' Installing multiple Fonts in Windows 7
' http://www.cloudtec.ch 2011
' Edited by Jason Dahmen

Dim objShell, objFSO, wshShell
Dim strFontSourcePath, objFolder, objFont, objNameSpace, objFile

Set objShell = CreateObject("Shell.Application")
Set wshShell = CreateObject("WScript.Shell")
Set objFSO = createobject("Scripting.Filesystemobject")

strFontSourcePath = "D:\fonts\"
If objFSO.FolderExists(strFontSourcePath) Then
If objFSO.FolderExists("C:\Users\") Then
' Start Windows 7/Vista
Set objNameSpace = objShell.Namespace(strFontSourcePath)
Set objFolder = objFSO.getFolder(strFontSourcePath)
For Each objFile In objFolder.files
If LCase(right(objFile,4)) = ".ttf" OR LCase(right(objFile,4)) = ".otf" OR LCase(right(objFile,4)) = ".ttc" Then
Set objFont = objNameSpace.ParseName(objFile.Name)
If objFSO.FileExists("C:\WINDOWS\Fonts\" & objFile.Name) = False Then
objFont.InvokeVerb("Install")
Set objFont = Nothing
Else
End If
End If
Next
Else
' Start Windows XP
Set objNameSpace = objShell.Namespace(strFontSourcePath)
Set objFolder = objFSO.getFolder(strFontSourcePath)
For Each objFile In objFolder.files
If LCase(right(objFile,4)) = ".ttf" OR LCase(right(objFile,4)) = ".otf" OR LCase(right(objFile,4)) = ".ttc" Then
Set objFont = objNameSpace.ParseName(objFile.Name)
If objFSO.FileExists("C:\WINDOWS\Fonts\" & objFile.Name) = False Then
objFSO.CopyFile "D:\fonts*", "c:\windows\fonts\"
Set objFont = Nothing
Else
End If
End If
Next
End If
Else
Wscript.Echo "Font Source Path does not exists"
End IF

注意:安装只包含ttf,otf,ttc三种字体文件,可以自己在代码加字体后缀( If LCase(right(objFile,4)) = ".ttf" OR LCase(right(objFile,4)) = ".otf" OR LCase(right(objFile,4)) = ".ttc" Then),满足95%,特殊类型的字体安装再扩展。

  1. 使用vbs封装成exe文件工具,封装vbs脚本,命名可执行文件的fonts.exe。
    (bat不能直接运行VBS,水平有限直接做成了exe来执行)
    下载地址:https://download.csdn.net/download/qq_16066381/9760279

域环境users提权调用lsrunase.exe 批处理完成安装字体

二.使用Quick_Batch_File_Compiler封装以管理员运行的批处理.批处理用到lsrunas.exe加密域管理员密码来运行fonts.exe

  1. 代码:Fonts-intsall.bat
    @echo off
    if "%1"=="h" goto begin
    start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
    :begin
    \10.10.12.201\soft\install\lsrunase\lsrunase.exe /user:administrator /password:3lp9huRP3uydxg== /domain:zzecwwmir.com /command:d:\fonts\fonts.exe /runpath:d:\fonts\
    rem 利用lsrunase调用域管理员权限来运行本地自解压文件完成软件安装rem 利用lsrunase调用域管理员权限来运行本地自解压文件完成软件安装

参考lsrunase.exe
https://www.cnblogs.com/colinliu/p/5666715.html

2.Quick_Batch_File_Compiler封装命名为 双击本软件_安装字体.exe

三.介于软件bug,做了其他辅助性的批处理来完善使用
字体提示已安装太多情况1.强制结束安装进程,2.清理fonts下已安装的字体

11强制结束_安装字体.bat
@echo off
taskkill /f /im fonts.exe
结束字体安装进程

12删除以前的文件里的字体安装文件.bat
@echo off
del /f /q /a /s D:\fonts*.otf
del /f /q /a /s D:\fonts*.ttf
del /f /q /a /s D:\fonts*.fon
del /f /q /a /s D:\fonts*.ttc
rem 删除字体

Desk.bat 删除之前的快捷方式,创建新的快捷方式,并运行完删除自己
@echo off
copy /y "D:\fonts\安装字体.lnk" c:\users\public\desktop
rem 在公共桌面创建快捷方式
ping 127.1 -n 2 >nul
del D:\fonts\安装字体.lnk
del /f /q /a /s %0
rem 删除批处理本身

四.封装自解压
自解压的封装方法百度一下。
域环境users提权调用lsrunase.exe 批处理完成安装字体

1.解压后的Fonts.exe 属性隐藏,防止误删
2.注意命名的安装软件排在所有文件前面。字体文件很多情况下,会造成找不到
域环境users提权调用lsrunase.exe 批处理完成安装字体

五.宣导,或者编辑安装方法文档。

相关内容

热门资讯

菲尔兹奖得主邓煜:做真正喜欢的... 文 | 《中国科学报》 记者 赵广立初次和邓煜对话是轻松的,没有被数学天才“碾压”的感受。他会耐心听...
如何抢抓6G机遇?低空怎样飞得... 7月23日,记者从双流区获悉,2026天府科学家创新发展大会暨成都科产融合对接活动双流(电子信息)专...
腾讯云官宣大规模部署国产化算力... 在2026世界人工智能大会的分论坛现场,腾讯云高管首次公开明确宣布,将大规模部署国产化算力,目标直指...
2026“光影科学梦”影视资源... 中新网北京7月23日电 (记者 孙自法)中国科技馆7月23日向媒体通报说,利用沉浸式体验的虚拟现实(...
产教共生、港数融合,解码日照数... 数字浪潮奔涌向前,人工智能与数据要素已然成为山东数字强省建设的关键变量与战略支点。近年来,山东锚定国...
原创 v... 现在的手机行业可以用“一地鸡毛”来形容了,先是魅族宣布不做手机了,如今真我有宣布退出中国市场,而红米...
谷歌现在允许用户通过自拍视频登... IT之家 7 月 23 日消息,谷歌正在推出一种新的账号登录和恢复方式,当用户无法使用传统找回方式时...
中国数学,迎来了菲尔兹时刻 14亿中国人里,必定还有无数具有数学天赋的人,要想人尽其才,那就得需要社会为他们提供一个更公平、也更...
谷歌Pixel 11/Pro/... 7 月 23 日消息,科技媒体 mymobiles 昨日(7 月 22 日)发布博文,在谷歌 8 月...
胡锡进:梁文锋倾吐衷肠,甩出美... 梁文锋近日的一个内部谈话流传到网上,引起网友的广泛追捧。它展现了中国新一代年轻科技精英的追梦情怀,对...