मैं (16-बिट) .COM निष्पादन योग्य कैसे चला सकता हूं जिसका नाम बदलकर .COS कर दिया गया है?


4

मैं एक मानक विंडोज़ XP डॉस प्रॉम्प्ट से 16-बिट विरासत डीओएस कार्यक्रमों के एक जोड़े को चलाने की कोशिश कर रहा हूं। समस्या यह है कि फ़ाइल एक्सटेंशन .COM से .COS में बदल दिए गए हैं और वे केवल-पढ़ने के लिए मीडिया पर संग्रहीत हैं और मैं उन्हें (विशेष वातावरण) कॉपी नहीं कर सकता।

अजीब विस्तार के बावजूद ऐसी फ़ाइलों को कैसे लागू किया जाए, इस पर कोई सुझाव? यदि वे 32-बिट EXE थे, तो यह उनके उचित एक्सटेंशन के बिना भी उन्हें चलाने वाला एक मुद्दा नहीं होगा, लेकिन इन COM फ़ाइलों के साथ, मुझे उन्हें चलाने का कोई तरीका नहीं मिल रहा है।


आपको पर्यावरण के बारे में और अधिक विवरण जोड़ना चाहिए, विशेष रूप से अपने "विशेष पर्यावरण" के बारे में।
रॉबर्ट

मीडिया की एक नई प्रति को जलाने का एक तरीका। वे किसी तरह से बनाए गए थे।
रामहाउंड

जवाबों:


4

ठीक। मैंने इसका पता लगा लिया है। मुझे लगता है, वैसे भी। यह इस तथ्य का लाभ उठाता है कि डॉस .COM फाइलें 0x100 बाइट हेडर के साथ सिर्फ बाइनरी इमेज हैं, जिसमें पहले युगल बाइट्स JMP 0x0100(उम्मीद है कि मैं उसके बारे में सही हूं) और पुरानी डॉस उपयोगिता debugजो एक्सपी में मौजूद है।

  • ओपन कमांड प्रॉम्प्ट
  • cd निर्देशिका .COS फ़ाइलों से युक्त
  • debug [दर्ज]
  • अब आप debug.exeशीघ्र (केवल एक डैश) पर हैं
  • प्रकार n{name of your .COS file, including extension}- उचित रूप से प्रतिस्थापित करना। उदाहरण के लिए, FILE.COS प्रकार के लिए nfile.cos, फिर [दर्ज करें]
  • टाइप करें l(लोड के लिए) फिर [दर्ज करें]
  • टाइप करें g(जाने के लिए) फिर [दर्ज करें]

जरा मुझे जानने दें यह कैसे होता है। मैंने लोड किया है C:\windows\system32\tree.comलेकिन जाहिर है कि यह वास्तव में एक है .EXE(यह डॉस मोड में नहीं चलाया जा सकता है)। सौभाग्य।

(BTW मैं सिर्फ ऊपर पेड़ के बारे में सामान पढ़ा।


हाँ, यह चाल कर सकता है। बेशक यह एक वास्तविक दर्द है और कुछ गंभीर सीमाएं जैसे बैच फ़ाइल या रन डायलॉग से चलाने योग्य नहीं है । उन्हें कॉपी करने में सक्षम नहीं होना सुनिश्चित है कि निराशा होती है ना? :-(
सिनेटेक

4

देखो मैं क्या कर सकता हूँ :-) (बस एक XP डॉस बॉक्स में यह किया है):

C:\>md test

C:\>cd test

C:\test>xcopy c:\windows\system32\tree.com
C:\windows\system32\tree.com
1 File(s) copied

C:\test>md t1

C:\test>md t2

C:\test>tree
Volume in drive C is OSDisk
Volume Serial Number is 0006EFC4 9654:5A1E
C:.
├───t1
└───t2

C:\test>ren tree.com tree.cos

C:\test>tree.cos
Volume in drive C is OSDisk
Volume Serial Number is 0006EFC4 9654:5A1E
C:.
├───t1
└───t2

C:\test>ren tree.cos newname.cos

C:\test>newname.cos
Volume in drive C is OSDisk
Volume Serial Number is 0006EFC4 9654:5A1E
C:.
├───t1
└───t2

C:\test>

यदि आप स्पष्ट रूप से डॉस प्रॉम्प्ट पर विस्तार का नाम देते हैं तो आप स्पष्ट रूप से कॉस फ़ाइलों को निष्पादित कर सकते हैं।


4
नहीं; यह गलत है । कारण यह है कि काम करता है क्योंकि tree.comवास्तव में एक .COM फ़ाइल नहीं है, यह एक .EXE फ़ाइल है जिसमें .comबैकवर्ड-कम्पैटिबिलिटी के लिए एक एक्सटेंशन है (जैसा कि विंडोज़ के लगभग सभी .COM फ़ाइलें अब कुछ संस्करणों के लिए है)। यदि यह एक .COM फ़ाइल थी, तो इसे डिफ़ॉल्ट "ऑल-फाइल्स" प्रोग्राम के साथ खोला जाता था, या यदि कोई भी सेट नहीं होता है, तो आपको ओपन विथ डायलॉग बॉक्स के साथ संकेत दिया गया होगा ।
सिनेटेक

सच। ठंडा। खोलो कि एक साधारण प्रकार के पेड़। Com से पता चलता है कि एक MZ exe हस्ताक्षर है। रवींद्र। तो सही उत्तर क्या होगा? "हर्गिज नहीं"?
TheBlastOne

1

नहीं, मुझे डर है कि जिन परिस्थितियों को आपने रेखांकित किया है, उसके तहत आप जो चाहते हैं, वह करना संभव नहीं है। निष्पादन योग्य फ़ाइलों को विशेष रूप से व्यवहार किया जाता है (एक सिस्टम को संक्रमित करने की उनकी क्षमता के कारण), इसलिए विंडोज़ आपको निष्पादन योग्य के रूप में किसी भी पुरानी फ़ाइल को चलाने की अनुमति नहीं देगा।

PATHEXTवातावरण चर विंडोज बताता है कि प्रोग्राम "निष्पादन" और "रन" हो सकता है, लेकिन वहाँ सीमा नहीं है। कमांड-प्रॉम्प्ट खोलें और उसमें .cosसे pathextकिसी एक को चलाने का प्रयास .cosकरें:

> set pathext=.cos;%pathext%
> foobar.cos

आप देखेंगे कि या तो डिफ़ॉल्ट "सभी फाइलें" प्रोग्राम चलता है, या यदि कोई भी कॉन्फ़िगर नहीं किया गया है, तो यह है कि ओपन विद डायलॉग प्रस्तुत किया गया है। क्यों? क्योंकि विंडोज प्रतिबंधित करता है कि क्या सुरक्षित कारणों से चलाया जा सकता है। आपको .cosफ़ाइलों को निष्पादन योग्य (जैसे .py, .plआदि) के रूप में पंजीकृत करने में सक्षम होना चाहिए , लेकिन फिर भी, यह संभव नहीं हो सकता है क्योंकि फ़ाइल .pyया .plफ़ाइल वास्तव में केवल एक दस्तावेज है जो प्रोग्राम द्वारा खोला जाता है, वास्तविक निष्पादन योग्य नहीं

एक अन्य विकल्प यह हो सकता है कि आप एक एसोसिएशन बनाने की कोशिश करें जिससे आप सिस्टम को बता सकें कि .cosफाइलें हैं comfiles। हालाँकि, मैंने जो त्वरित परीक्षण का प्रयास किया वह काम नहीं आया और विंडोज ने शिकायत की कि यह एक निष्पादन योग्य फ़ाइल नहीं है और इनकार कर दिया है

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