Как я устанавливаю шрифт от командной строки Windows?

Действительно ли возможно установить шрифты от командной строки в Windows? Если да, какова команда?

Я попробовал copy [fontname].ttf C:\Windows\Fonts\ и это сказало, что копирование было завершено, но я не мог ни найти упомянутые шрифты в папке Fonts, ни найти их в списке шрифтов любой программы так, чтобы, конечно, не работал. (Хотя я смог удалить упомянутые шрифты из папки Fonts впоследствии),

38
задан 22.10.2013, 13:09

3 ответа

Это возможно, но необходимо записать сценарий оболочки Windows, чтобы сделать это. Одно только копирование не установит шрифт: также необходимо зарегистрировать шрифт, например.

copy "FontName.ttf" "%WINDIR%\Fonts"
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "FontName (TrueType)" /t REG_SZ /d FontName.ttf /f

Кроме того, Вы можете следующие строки кода для удовлетворения потребностям; сохраните его как .vbs файл и затем выполните его.

Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace("<Folder or Share Location>")
Set objFolderItem = objFolder.ParseName("<TTF File Name>")
objFolderItem.InvokeVerb("Install")

Пример:

Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace("C:\Windows\Font")
Set objFolderItem = objFolder.ParseName("Myriad Pro.ttf")
objFolderItem.InvokeVerb("Install")

Еще одна альтернатива должна установить "временные" шрифты, только для текущего сеанса пользователя. Идея состоит в том, чтобы работать fontview.exe для каждого шрифта, который делает это доступным для других Приложений Windows:

for /F "delims=;" %%a in ('dir C:\ExtraFonts /B /A-D-H-S /S') do fontview %%a

Посмотрите полное решение здесь.

31
ответ дан 07.12.2019, 08:50

Можно также использовать утилиту FontReg для установки шрифтов от командной строки.

3
ответ дан 07.12.2019, 08:50

Вы не перечисляли свою версию Windows, но я предполагаю, что Вы запускаете Vista или 7. Копирование к тому каталогу требует административных привилегий. Попробуйте то, что Вы сделали снова, но используете Поднятую Командную строку instad на этот раз.

-1
ответ дан 07.12.2019, 08:50

Теги

Похожие вопросы