मैं विंडोज कमांड प्रॉम्प्ट से फ़ॉन्ट कैसे स्थापित करूं?


37

क्या विंडोज पर कमांड प्रॉम्प्ट से फोंट स्थापित करना संभव है? यदि हाँ, तो आदेश क्या है?

मैंने कोशिश की copy [fontname].ttf C:\Windows\Fonts\और यह कहा कि नकल पूरी हो गई थी, लेकिन मैं फोंट में उक्त फोंट को फोल्डर फ़ोल्डर में नहीं ढूंढ सका और न ही उन्हें किसी प्रोग्राम की फॉन्ट लिस्ट में खोज पाया, ताकि निश्चित रूप से काम नहीं किया। (हालांकि मैं बाद में फोंट फ़ोल्डर से उक्त फोंट को हटाने में सक्षम था )


जवाबों:


31

यह संभव है, लेकिन आपको ऐसा करने के लिए एक विंडोज शेल स्क्रिप्ट लिखना होगा। अकेले प्रतिलिपि बनाना फ़ॉन्ट को स्थापित नहीं करेगा: आपको फ़ॉन्ट को पंजीकृत करने की भी आवश्यकता है, जैसे

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प्रत्येक फ़ॉन्ट के लिए चलना है , जो इसे अन्य विंडोज अनुप्रयोगों के लिए उपलब्ध कराता है:

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

पूरा समाधान यहाँ देखें ।


क्या आप अपनी स्क्रिप्ट का विस्तार करने के लिए इतने दयालु होंगे: (1) वर्तमान निर्देशिका से सभी स्वचालित रूप से *.ttfऔर *.fonफोंट स्थापित करें (2) Const FONTS = &H14&यहां दिए गए सुझाव के रूप में उपयोग करें ( सातफोरम . com/general-discussion/… )। मैं वीबीएस पर राजा नहीं हूं :( अग्रिम धन्यवाद।
dma_k

1
objFolderItem.InvokeVerb("Install")विंडोज सर्वर 2012 R2 पर काम नहीं करता है
एंथनी काँग

@GeneQ: विंडोज 10. 10. में प्रोग्राम में सूचीबद्ध फॉन्ट को बनाता है copyऔर reg addनहीं बनाता है
user2284570

16

पॉवर्सशेल में यह इतना सरल हो सकता है:

$fonts = (New-Object -ComObject Shell.Application).Namespace(0x14)
dir fonts/*.ttf | %{ $fonts.CopyHere($_.fullname) }

3
मैं दूसरी लाइन Get-ChildItem -Recurse -include *.ttf | % { $fonts.CopyHere($_.fullname) }
बदलूंगा

2
दी, Get-ChildItemPowershell रास्ता है, मैं बस Powershell तरीका (यूनिक्स खोल affectionado यहाँ से नफरत है), और उसके dirलिए सिर्फ एक उपनाम है; और यदि आप पुनरावृत्ति चाहते हैं, तो आपके द्वारा दिए गए विकल्प जाने का रास्ता है। सरल "बस इस फ़ोल्डर में फ़ाइलों को स्कैन करें" के लिए, मेरा संस्करण कम वर्बोज़ और अधिक पठनीय है।
Guss

5

GeneQ के समाधान के समान, यहाँ एक संस्करण है जो स्क्रिप्ट की निर्देशिका में सभी .ttf फ़ाइलों के लिए कर रहा है:

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

आपने अभी-अभी अपना दिन बचाया :) मेरा डिफ़ॉल्ट विंडोज फ़ॉन्ट दूषित हो गया और यह एकमात्र तरीका था जिससे मैं सभी विंडोज डिफ़ॉल्ट फ़ॉन्ट को पुनर्स्थापित कर सका। धन्यवाद!!
रीमा लागू

उत्तम! मैंने कंपनी के री-ब्रांड के बाद कई कंप्यूटरों के लिए एक बैट फाइल द्वारा चलाए गए vbs में इसका इस्तेमाल किया। यह फोंट स्थापित करता है, आउटलुक के लिए ईमेल हस्ताक्षर फ़ाइलें स्थापित करता है और ब्राउज़र होम पेज सेट करता है
Reece

3

आप कमांड प्रॉम्प्ट से फ़ॉन्ट स्थापित करने के लिए FontReg यूटिलिटी का भी उपयोग कर सकते हैं ।


1
यह विंडोज 10 64 बिट पर मेरे लिए काम नहीं किया।
djangofan

1
@djangofan: क्या आप एक उन्नत कमांड प्रॉम्प्ट का उपयोग कर रहे थे? मैंने अभी तक विंडोज 10 पर फोंटग्राम की कोशिश नहीं की है, लेकिन मुझे उम्मीद है कि इसकी आवश्यकता होगी।
आफ्रेज़ियर

समस्या यह थी कि मैं अपने सिस्टम पर मैक फोंट स्थापित करने की कोशिश कर रहा था (उनके पास फ़ाइल नाम एक्सटेंशन नहीं है)। मैं .ttf फ़ॉन्ट फ़ाइलों और अब यह सब अच्छा है।
djangofan 25

1

एक स्क्रिप्ट फ़ाइल बनाएं जिसे InstallFonts.vbs कहा जाता है, मेरे मामले में मैंने इसे C: \ PortableApps \ InstallFonts में डाल दिया है। नीचे दिए गए कोड में "SomeUser" को उस व्यक्ति के उपयोगकर्ता नाम से बदल दें जिसे आप फोंट स्थापित करने में सक्षम होना चाहते हैं। फिर उनके डेस्कटॉप पर उपयुक्त "इंस्टॉल फ़ॉन्ट्स" फ़ोल्डर बनाएं।

    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

अब उनके डेस्कटॉप पर एक शॉर्टकट बनाएं जो इस प्रकार है ...

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

ध्यान दें कि मैंने "व्यवस्थापक" का उपयोग किया है। मैंने इसे सक्षम किया और इसे एक पासवर्ड सौंपा। मुझे लगता है कि आप इसके लिए किसी भी व्यवस्थापक खाते का उपयोग कर सकते हैं। पहली बार जब आप शॉर्टकट चलाते हैं, तो आपको व्यवस्थापक पासवर्ड के लिए संकेत दिया जाएगा .. हर बार इसके बाद बस काम करेगा।

यदि यह आपको पासवर्ड के लिए संकेत नहीं देता है, तो cmd प्रॉम्प्ट से शॉर्टकट चलाएं, यह आपको तब संकेत देना चाहिए।

मैं आपसे वादा नहीं कर सकता कि यह कितना सुरक्षित है जैसे कि वे इसका उपयोग एलिवेटेड कोड चलाने के लिए कर सकते हैं। हालाँकि यह एक समाधान है।


0

जैसा कि जीनक्यू ने पहले कहा था, यह है कि आप कैसे आगे बढ़ते हैं (मैंने इसका परीक्षण किया है)

  1. व्यवस्थापक विशेषाधिकारों के साथ एक कमांड लाइन खोलें
  2. कमांड का उपयोग करें:

के लिए / एफ "delims =;" % a ('dir C: \ FontsDir / B / ADHS / S') फॉन्टव्यू% a

जहाँ C: \ FontsDir निर्देशिका है जहाँ आपकी tff फ़ाइलें संग्रहीत हैं। एक बार "फॉन्टव्यू" निष्पादित करने के बाद विंडो को "फ़ॉन्ट्सडायर" निर्देशिका के अंदर जितनी संख्या में tff फ़ाइलों की संख्या में खोला जाएगा। आपको बस "इंस्टॉल" बटन पर क्लिक करना है और वहां आप हैं! आपके फोंट आप सिस्टम पर स्थापित हैं

आशा है कि यह किसी की मदद करेगा


ऐसे जटिल forआदेश (उदाहरण के लिए) के बजाय क्यों for %a in (C:\FontsDir\*.*) do fontview "%a"?
एले

कमांड भी छिपे हुए फोंट दिखाता है
सैम डॉक्सी

-1

आपने अपना विंडोज संस्करण सूचीबद्ध नहीं किया है, लेकिन मुझे लगता है कि आप विस्टा चला रहे हैं या 7. उस निर्देशिका के लिए नकल करना प्रशासनिक विशेषाधिकारों की आवश्यकता है। कोशिश करें कि आपने फिर क्या किया, लेकिन इस बार एलिवेटेड कमांड प्रॉम्प्ट इंस्टाड का उपयोग करें।


3
उन्होंने कहा कि नकल सफल रही। अगर परमिशन उसे वहां सफलतापूर्वक कॉपी करने से रोक रही थी, तो उसने उसे बताया कि कॉपी फेल हो गई है, इसलिए शायद यह समस्या नहीं है।
nhinkle

-1

मैंने बिना पुनरारंभ किए फ़ॉन्ट स्थापित करने का तरीका खोजने के लिए बहुत समय बिताया। अंत में मुझे यह मिला: ClickFont । यह एक आसान और सटीक उपाय है।

ClickFont सिस्टम में कहीं से भी केवल दो माउस क्लिक के साथ ट्रू टाइप, ओपन टाइप और पोस्टस्क्रिप्ट फोंट की आसान स्थापना की अनुमति देता है। यह सब एक फ़ॉन्ट या फ़ोल्डर पर राइट-क्लिक है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.