É possível, mas você precisa escrever um script de shell do Windows para fazer isso. Copiar sozinho não instala a fonte: você também precisa registrar a fonte, por exemplo,
copy "FontName.ttf" "%WINDIR%\Fonts"
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "FontName (TrueType)" /t REG_SZ /d FontName.ttf /f
Como alternativa, você pode usar as seguintes linhas de código para atender às suas necessidades; salve-o como um arquivo .vbs e, em seguida, execute-o.
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace("<Folder or Share Location>")
Set objFolderItem = objFolder.ParseName("<TTF File Name>")
objFolderItem.InvokeVerb("Install")
Exemplo:
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace("C:\Windows\Font")
Set objFolderItem = objFolder.ParseName("Myriad Pro.ttf")
objFolderItem.InvokeVerb("Install")
Ainda outra alternativa é instalar fontes "temporárias", apenas para a sessão atual do usuário. A idéia é executar fontview.exe
para cada fonte, o que a torna disponível para outros aplicativos do Windows:
for /F "delims=;" %%a in ('dir C:\ExtraFonts /B /A-D-H-S /S') do fontview %%a
Veja a solução completa aqui .