复制字体时,CopyHere无法按预期工作



我制作了一个脚本,该脚本应该将一堆字体复制到Windows字体文件夹中。当我运行它时,我会收到我想要复制的文件名的输出,但不会复制。当我删除For循环并指定文件名时,它就起作用了。感谢您的帮助。

Const FONTS = &H14&
sFolder = "c:FontInstalls"
Set objShell = CreateObject("Shell.Application") 
Set objFolder = objShell.Namespace(FONTS) 
Set objFSO = CreateObject("Scripting.FileSystemObject")
For Each oFile In objFSO.GetFolder(sFolder).Files
  If UCase(objFSO.GetExtensionName(oFile.Name)) = "TTF" Then
    objFolder.CopyHere(oFile)
    wscript.echo(oFile)
  End if
Next

字体需要安装而不是复制。复制外壳的对象,而不是底层文件。shell安装复制到字体文件夹中的字体。

以下是您需要将文件添加到zip中的对象。

Set objShell = CreateObject("Shell.Application")
Set Ag=Wscript.Arguments
set WshShell = WScript.CreateObject("WScript.Shell")
Set SrcFldr=objShell.NameSpace(Ag(1))
Set DestFldr=objShell.NameSpace(Ag(0))
Set FldrItems=SrcFldr.Items
DestFldr.CopyHere FldrItems, &H214
Msgbox "Finished"

最新更新