如何通过VBS脚本自动确认弹窗实现Windows字体静默批量安装
VBS自动无弹窗安装字体脚本修改方案
原有脚本出现弹窗的核心原因是Shell.Application的CopyHere方法默认会触发覆盖确认、字体安装确认提示,新增对应参数即可实现静默安装。
修改后完整代码
Const FONTS = &H14& ' CopyHere配置参数:关闭所有确认弹窗,自动覆盖已有文件 Const COPY_SILENT = &H10& Set shell = CreateObject("Shell.Application") Set fso = CreateObject("Scripting.FileSystemObject") Set fontsFolder = shell.Namespace(FONTS) scriptFullName = WScript.ScriptFullName Set currentFolder = fso.GetFolder(fso.GetParentFolderName(scriptFullName)) For Each file In currentFolder.Files If LCase(fso.GetExtensionName(file.Name)) = "ttf" Then ' 不需要安装提示可注释掉下方一行实现完全静默 WScript.Echo "正在安装字体: " & file.Path fontsFolder.CopyHere file.Path, COPY_SILENT ' 批量安装时添加等待避免处理过快导致安装失败,可根据实际情况调整时长 WScript.Sleep 300 End If Next
调整说明
- 新增
COPY_SILENT常量作为CopyHere方法的第二个参数传入,自动跳过所有确认弹窗,遇到同名字体直接覆盖 - 后缀名判断添加
LCase转换,避免后缀为大写TTF时无法识别的问题 - 新增等待逻辑,避免批量安装字体时处理速度过快导致的安装异常
- 必须以管理员身份运行该脚本,否则无系统字体目录写入权限,仍会触发权限报错
内容的提问来源于stack exchange,提问作者user3402511
相关产品推荐
相关产品推荐

