Действительно ли возможно установить шрифты от командной строки в Windows? Если да, какова команда?
Я попробовал copy [fontname].ttf C:\Windows\Fonts\
и это сказало, что копирование было завершено, но я не мог ни найти упомянутые шрифты в папке Fonts, ни найти их в списке шрифтов любой программы так, чтобы, конечно, не работал. (Хотя я смог удалить упомянутые шрифты из папки Fonts впоследствии),
Это возможно, но необходимо записать сценарий оболочки 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
Посмотрите полное решение здесь.
Вы не перечисляли свою версию Windows, но я предполагаю, что Вы запускаете Vista или 7. Копирование к тому каталогу требует административных привилегий. Попробуйте то, что Вы сделали снова, но используете Поднятую Командную строку instad на этот раз.