An easy way to install a folder of fonts from an (elevated) batch script. I’ve compiled this from a couple different sources, into a single subroutine. It avoids duplicate fonts and their warning messages which require user interaction.
:: Install Fonts CALL :INSTALL_FONT "\\Server\Share\Fonts" GOTO END ::SUBROUTINES :INSTALL_FONT set strNewFontsFolder=%1 ( echo Set fso = CreateObject^("Scripting.FileSystemObject"^) echo Set stdout = fso.GetStandardStream^(1^) echo stdout.WriteLine "Installing fonts from: " ^& "%strNewFontsFolder:"=%" echo Set objShellApp = CreateObject^("Shell.Application"^) echo Set objFSO = CreateObject^("Scripting.FileSystemObject"^) echo Set objFolder = objShellApp.Namespace^(20^) echo If objFSO.FolderExists^("%strNewFontsFolder:"=%"^) = True Then echo For Each objFile In objFSO.GetFolder^("%strNewFontsFolder:"=%"^).Files echo If UCase^(Right^(LCase^(objFile.Name^), 4^)^) = ".TTF" Then echo If objFSO.FileExists^(objFolder.Self.Path ^& "\" ^& objFile.Name^) = False Then objFolder.CopyHere objFile.Path echo End If echo If UCase^(Right^(LCase^(objFile.Name^), 4^)^) = ".FON" Then echo If objFSO.FileExists^(objFolder.Self.Path ^& "\" ^& objFile.Name^) = False Then objFolder.CopyHere objFile.Path echo End If echo Next echo End If ) > "%TEMP%\tmp_%~n0.vbs" cscript //nologo "%TEMP%\tmp_%~n0.vbs" del "%TEMP%\tmp_%~n0.vbs" EXIT /B :END