प्रोग्राम को विंडोज पर एप्लिकेशन के साथ फाइल एक्सटेंशनों को जोड़ें


43

मैंने अभी हाल ही में विंडोज को फिर से इंस्टॉल किया है और अपने वातावरण को स्थापित करने में मैंने देखा है कि मैंने नोटपैड ++ में संपादित विभिन्न प्रोग्रामिंग भाषाओं के लिए अपने सभी संघों (स्वाभाविक रूप से) चले गए हैं।

मैं भविष्य के लिए सोच रहा हूँ, क्या यह किसी प्रकार की बैच फ़ाइल के लिए भव्य नहीं होगा जो कि एक बटन के क्लिक पर N ++ के साथ फ़ाइल एक्सटेंशनों के चयन को स्वचालित रूप से जोड़ सके, बजाय इसके कि मैं इन सभी एक्सटेंशनों का सामना करने तक प्रतीक्षा करूं N ++ exe इत्यादि में नेविगेट करने की कठोरता के माध्यम से जाना।

मैं Default Programsविंडोज 7 के साथ आने वाली उपयोगिता के साथ ऐसा नहीं कर सकता , क्योंकि यह केवल उन एक्सटेंशन के साथ काम करता है जो 'सामना' कर चुके हैं।

तो क्या यह संभव है कि विंडोज पर एप्लिकेशन के साथ प्रोग्राम एक्सटेंशन को फ़ाइल में जोड़ा जाए?


क्या आपके टैग के अनुसार समाधान का अधिकार होना चाहिए?
रिचर्ड

1
बिल्कुल नहीं, बस विंडोज कमांड लाइन के दीवाने लोगों की दिलचस्पी लेने की कोशिश कर रहे हैं। :)
डेड ०२३

अपनी सिस्टम सेटिंग्स को ट्रांसफर करने के लिए विंडोज ईज़ी ट्रांसफर का उपयोग करें, जो कि विंडोज 7-विस्टा में बनाया गया है और इसे XP के लिए डाउनलोड किया जा सकता है ... microsoft.com/download/en/details.aspx?id=7349
Moab

यह एक विकल्प नहीं है क्योंकि मूल विंडोज इंस्टाल अब उपलब्ध नहीं है।
de002392

जवाबों:


63

इसे ठीक करने के लिए Ftype & Assoc का उपयोग करें (और यह स्क्रिप्ट करने योग्य है)।

छानने के लिए Assoc का उपयोग करें

>Assoc .txt

आपको देता है:

.txt = txtfile

फिर

>Ftype txtfile=C:\Program Files (x86)\Notepad++\notepad++.exe %1

एक बार जब आप फ़ाइल प्रकार जान लेते हैं, तो आप उसे किसी क्रिया के साथ संबद्ध करने के लिए Ftype का उपयोग कर सकते हैं।

यह .php फ़ाइलों के लिए काम करेगा (बस उन्हें बैच फ़ाइल में प्लॉप करें)

Assoc .php=phpfile
Ftype phpfile="C:\Program Files (x86)\Notepad++\notepad++.exe" %1

और आप इन पंक्तियों को अन्य पाठ-आधारित फ़ाइलों को जोड़ने के लिए कॉपी कर सकते हैं जैसा आप चाहते हैं।


1
दिलचस्प है, जब मैं >assoc .phpयह कहता हूं कि इसका कोई फ़ाइल संघ नहीं है? ऐसा लगता है कि जब आप किसी फ़ाइल प्रकार को खोलने के लिए डिफ़ॉल्ट प्रोग्राम निर्दिष्ट करते हैं, तो इस तरह से 'पंजीकृत' नहीं किया जाता है। ऐसा क्यों हो सकता है?
deed02392

18
+1 दो कमांड लाइन टूल के लिए जिन्हें मैं नहीं जानता था।
इयान बॉयड

1
यह समाधान नोटपैड ++ में पाठ फ़ाइलों को खोलता है और पहले से असाइन किए गए प्रोग्राम (नोटपैड) को नहीं। जब आप किसी नए, अपंजीकृत, फ़ाइल एक्सटेंशन (जैसे। Pl, py या c) पर क्लिक करते हैं तो नोटपैड ++ ओपन नहीं होता।
रिचर्ड

1
@ deed02392 आप गधे के साथ एक नया जुड़ाव जोड़ सकते हैं 'Assoc .php = phpfile' को काम करना चाहिए
uSlackr

2
मेरे उत्तर का आशय आपको यह बताना था कि कैसे आप गांड और फ़ुटपाइप का उपयोग कर सकते हैं, न कि आपके लिए बैच फ़ाइल लिखने के लिए। लेकिन मैं साथ खेलने देंगे
uSlackr

5

यहां एक स्क्रिप्ट है जो विंडोज 10 पर मेरे लिए काम करती है

$exts=@("txt","log","csproj","sql","xml","flobble")
echo "## setting up file associations"
foreach ($ext in $exts){
    $extfile=$ext+"file"
    $dotext="." + $ext
    cmd /c assoc $dotext=$extfile
    cmd /c "ftype $extfile=""C:\Program Files (x86)\Notepad++\notepad++.exe"" %1"
    echo ""
}
  • एक व्यवस्थापक (एलिवेटेड) पॉवर्सशेल विंडो में चलाने की आवश्यकता है।
  • एक्सप्लोरर तुरंत ताज़ा हो गया और नए फ़ाइल आइकन दिखाए।

https://gist.github.com/timabell/bc90e0808ec1cda173ca09225a16e194

इस कार्य को करने के लिए आवश्यक जानकारी के लिए अन्य उत्तरों के लिए धन्यवाद।


3

कम से कम, आपको एक रजिस्ट्री कुंजी बनाने की आवश्यकता है जो नोटपैड को एक आईडी और पथ देती है और फिर प्रत्येक एक्सटेंशन के लिए जिसे आप उपयोग करने के लिए पंजीकृत करना चाहते हैं।

आईडी और पथ बनाने के लिए (सही स्थान पर पथ बिंदुओं की जांच करें):

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\notepad_pp]
@=""

[HKEY_CLASSES_ROOT\notepad_pp\shell]

[HKEY_CLASSES_ROOT\notepad_pp\shell\open]

[HKEY_CLASSES_ROOT\notepad_pp\shell\open\command]
@="\"C:\\Program Files (x86)\\Notepad++\\notepad++.exe\" \"%1\""

और फिर अगले बिट को दोहराते रहें, प्रत्येक एक्सटेंशन के लिए एक (इस उदाहरण में, .plपर्ल के लिए है):

[HKEY_CLASSES_ROOT\.pl]
@="notepad_pp"

इस फ़ाइल को एक्सटेंशन के साथ सहेजें .regऔर अब आप इस फ़ाइल पर डबल-क्लिक करके सभी एक्सटेंशन को फिर से जोड़ सकते हैं और पुष्टि कर सकते हैं कि आप रजिस्ट्री में प्रविष्टियों को आयात करना चाहते हैं।


1
दिलचस्प है, मैं देख रहा हूं और ऐसा लगता है कि जब आप लोड करने के लिए एक प्रोग्राम सेट करते हैं तो विंडोज 7 क्या करता है, "C: \ Program Files \ Notepad ++ + नोटपैड ++" के मान के साथ HKCR \ ext_auto_file \ shell \ open \ कमांड में एक प्रविष्टि बनाएं। .exe ""% 1 ""। तुम कहाँ से तुम्हारा समर्थन कर रहे थे?
डिड02392

यह मूल रूप से एक ही है, केवल ext_auto_file के साथ कुछ एकल अर्थपूर्ण और कई फ़ाइल एक्सटेंशनों का नाम बदलकर एक एकल प्रविष्टि की ओर इशारा किया गया है।
रिचर्ड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.