Wie installiere ich eine Schriftart über die Windows-Eingabeaufforderung?

Ist es möglich, Schriftarten über die Eingabeaufforderung unter Windows zu installieren? Wenn ja, was ist der Befehl?

Ich habe copy [fontname].ttf C:\Windows\Fonts\ ausprobiert und es hieß, das Kopieren sei abgeschlossen, aber ich konnte die genannten Schriftarten weder im Fonts-Ordner finden noch in der Font-Liste eines Programms finden, so dass dies sicherlich nicht funktionierte. (Obwohl ich die genannten Schriftarten anschließend aus dem Ordner Fonts löschen konnte)

Author: Andrea, 2010-10-21

9 answers

Es ist möglich, aber Sie müssen dazu ein Windows-Shell-Skript schreiben. Durch das Kopieren allein wird die Schriftart nicht installiert: Sie müssen die Schriftart auch registrieren, z. B.

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

Alternativ können Sie die folgenden Codezeilen nach Ihren Bedürfnissen; speichern Sie es als ein .vbs-Datei und dann ausführen.

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

Beispiel:

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

Eine weitere Alternative besteht darin, Schriftarten "temporär" nur für die aktuelle Benutzersitzung zu installieren. Die Idee ist, fontview.exe für jede Schriftart auszuführen, wodurch sie für andere verfügbar ist Windows-Anwendungen:

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

Siehe die komplette Lösung hier.

 32
Author: GeneQ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-03-19 03:33:16

In Powershell kann dies so einfach sein wie:

$fonts = (New-Object -ComObject Shell.Application).Namespace(0x14)
dir fonts/*.ttf | %{ $fonts.CopyHere($_.fullname) }
 20
Author: Guss,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2014-07-27 14:51:08

Ähnlich der Lösung von GeneQ ist hier eine Version, die dies für alle tut .ttf-Dateien im Verzeichnis des Skripts:

Set ofso = CreateObject("Scripting.FileSystemObject")
SourceFolder = ofso.GetParentFolderName(Wscript.ScriptFullName)

Const FONTS = &H14&

Set objShell  = CreateObject("Shell.Application")
Set oSource   = objShell.Namespace(SourceFolder)
Set oWinFonts = objShell.Namespace(FONTS)

' Lame VBscript needs 4 f*ing lines instead of "if (/\.ttf$/i) " ...
Set rxTTF = New RegExp
rxTTF.IgnoreCase = True
rxTTF.Pattern = "\.ttf$"

FOR EACH FontFile IN oSource.Items()
    IF rxTTF.Test(FontFile.Path) THEN   
        oWinFonts.CopyHere FontFile.Path
    END IF
NEXT
 7
Author: mivk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-03-19 03:33:26

Sie können auch das DienstprogrammFontReg verwenden, um Schriftarten über eine Eingabeaufforderung zu installieren.

 4
Author: afrazier,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2010-12-21 20:44:59

Erstellen Sie eine Skriptdatei namens InstallFonts.vbs In meinem Fall habe ich es in C:\PortableApps\InstallFonts\ IM folgenden Code eingefügt Ersetzen Sie "SomeUser" durch den Benutzernamen der Person, die Sie Schriftarten installieren möchten. Erstellen Sie dann den entsprechenden Ordner "Schriftarten installieren" auf ihrem Desktop.

Set ofso = CreateObject("Scripting.FileSystemObject")
'SourceFolder = ofso.GetParentFolderName(Wscript.ScriptFullName)
SourceFolder = "C:\Users\SomeUser\Desktop\Install Fonts"


Const FONTS = &H14&

Set objShell  = CreateObject("Shell.Application")
Set oSource   = objShell.Namespace(SourceFolder)
Set oWinFonts = objShell.Namespace(FONTS)

' Lame VBscript needs 4 f*ing lines instead of "if (/\.ttf$/i) " ...
Set rxTTF = New RegExp
rxTTF.IgnoreCase = True
rxTTF.Pattern = "\.ttf$"

FOR EACH FontFile IN oSource.Items()
    IF rxTTF.Test(FontFile.Path) THEN   
        oWinFonts.CopyHere FontFile.Path
    END IF
NEXT

Erstellen Sie nun eine Verknüpfung auf ihrem Desktop, die wie folgt lautet...

C:\Windows\System32\runas.exe /user:Administrator /savecred "wscript C:\PortableApps\InstallFonts\InstallFonts.vbs"

Beachten Sie, dass ich "Administrator" verwendet habe. Ich habe es aktiviert und ihm ein Passwort zugewiesen. Ich nehme an, Sie könnten dafür ein Administratorkonto verwenden. Erst wenn Sie die Verknüpfung ausführen, werden Sie nach dem Administratorkennwort gefragt. Jedes Mal danach wird es einfach funktionieren.

Wenn Sie nicht zur Eingabe eines Kennworts aufgefordert werden, führen Sie die Verknüpfung über eine cmd-Eingabeaufforderung aus, die Sie dann auffordern sollte.

Ich kann Ihnen nicht versprechen, wie sicher dies ist, als ob sie es verwenden könnten, um erhöhten Code auszuführen. Es ist jedoch eine Lösung.

 2
Author: Desktop Masters,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-03-19 03:34:07

Wie bereits von GeneQ gesagt, gehen Sie so vor (ich habe es getestet)

  1. Öffnen Sie eine Befehlszeile mit Administratorrechten
  2. Verwenden Sie den Befehl:

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

Wo C:\FontsDir ist das Verzeichnis, in dem Ihre TFF-Dateien gespeichert sind. Einmal ausgeführt "fontview" Windows wird so viel wie die Anzahl der TFF-Dateien im Verzeichnis "FontsDir" geöffnet werden. Sie müssen nur auf "Installieren" klicken und da sind Sie! ihre Schriftarten sind auf Ihnen installiert system -

Hoffe, es würde jemandem helfen

 0
Author: Sam Doxy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-03-19 03:34:30

Ich habe die Aufgabe auf diese Weise gelöst:

Angenommen, Sie müssen viele Schriftarten in Unterordnern mit der folgenden Struktur rekursiv installieren:

\root_folder
    Install_fonts.cmd
    \font_folder_1
        font_1.ttf
        font_2.otf
    \font_folder_2
        font_3.ttf
        font_4.otf
    \font_folder_3
        font_5.ttf
        font_6.otf

Um das zu tun, habe ich die FontReg.exe werkzeug auf meinem Desktop (ändern Sie die path in der Datei Install_fonts.cmd, wenn sie sich woanders befindet) und ich habe sie in einem Install_fonts.cmd Batch-Skript wie dem folgenden verwendet, das sich in root_folder befindet (ändern Sie auch den Namen in der Datei Install_fonts.cmd, falls anders):

@echo off
set back=%cd%
for /d %%i in (%USERPROFILE%\Desktop\root_folder\*) do (
cd "%%i"
echo current directory:
cd
start /wait %USERPROFILE%\Desktop\fontreg-2.1.3-redist\bin.x86-64\FontReg.exe /move
timeout /t 1 /nobreak >nul
)
cd %back%
echo Process completed!
pause

Also musst du laufen Install_fonts.cmd in root_folder als Administrator, um den Installationsprozess der Schriftarten zu automatisieren.

Prost

 0
Author: Riccardo Volpe,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-07-11 23:10:56

Sie haben Ihre Windows-Version nicht aufgelistet, aber ich nehme an, Sie führen Vista oder 7 aus. Das Kopieren in dieses Verzeichnis erfordert Administratorrechte. Versuchen Sie es erneut, aber verwenden Sie diesmal eine erhöhte Eingabeaufforderung instad.

 -1
Author: jsejcksn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2010-12-21 21:09:54

Ich habe viel Zeit damit verbracht, einen Weg zu finden, font ohne Neustart zu installieren. Endlich habe ich folgendes gefunden: ClickFont. Es ist eine einfache und genaue Lösung.

ClickFont ermöglicht die einfache Installation von TrueType -, OpenType-und PostScript-Schriftarten mit nur zwei Mausklicks von überall im System. Alles, was es braucht, ist ein Rechtsklick auf eine Schriftart oder einen Ordner.

 -1
Author: SelçukDERE,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-10-04 16:40:13