Не удается установить шрифт с помощью VBScript из-за исключения "требуется объект: "objFolderItem""

вот мой скрипт основанный на Как установить шрифт из командной строки Windows?

Dim WinFontDir
Dim SrcFontDir
WinFontDir = "C:WindowsFonts"
SrcFontDir = "..fonts.test"


Set objShell = CreateObject("Shell.Application")
Set objFontFolder = objShell.Namespace(WinFontDir)
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objSrc = objFSO.GetFolder(SrcFontDir)
Set colFiles = objSrc.Files
For each objFile in colFiles
    If objFSO.FileExists(WInFontDir + "" + objFile.Name) Then
        WScript.Echo objFile.Name 
    else
        WScript.Echo "Copying " + objFile.Name
        objFSO.CopyFile SrcFontDir + "" + objFile.Name, WinFontDir + "" + objFile.Name
        Set objFolderItem = objFontFolder.ParseName(objFile.Name)
        objFolderItem.InvokeVerb("Install")  // <- exception
    End If
Next

в основном я хочу иметь возможность перебирать папку шрифтов, и только копировать и устанавливать, если файл шрифта не существует "C:WindowsFonts" в первую очередь.

но когда дело доходит до этой строки objFolderItem.InvokeVerb("Install") Я получил сообщение об ошибке:

требуется объект: 'objFolderItem'

Что такое причина?

11
задан Community
04.04.2023 10:00 Количество просмотров материала 3449
Распечатать страницу

1 ответ

в конце концов, для меня работает только так:

Dim WinFontDir
Dim SrcFontDir
WinFontDir = "C:\Windows\Fonts"
SrcFontDir = "..\fonts"

Set objShell = CreateObject("Shell.Application")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objSrc = objFSO.GetFolder(SrcFontDir)
Set colFiles = objSrc.Files
For each objFile in colFiles
    If Not objFSO.FileExists(WInFontDir + "\" + objFile.Name) Then
        WScript.Echo "Copying " + objFile.Name
        FONTS = &H14&
        Set objFontFolder = objShell.Namespace(FONTS)
        objFontFolder.CopyHere objFile.Path
    End
Next

Примечание: копировать только файлы, которые не существуют в папке шрифтов

0
отвечен Anthony Kong 2023-04-05 17:48

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх