MS-DOS 1.x फ़ाइल में कमांड के आउटपुट को सहेजें


27

ऐसा लगता है कि [COMMAND]>[FILE]एमएस-डॉस के शुरुआती संस्करणों में काम नहीं करता है। मैं MS-DOS 1.25 का उपयोग कर रहा हूं और उपरोक्त अभिव्यक्ति स्टेटमेंट देती है invalid argument

अपडेट : चूंकि यह सच है कि यह डॉस 1.x में काम नहीं करता है, तो क्या यह संभव है कि वर्चुअल बॉक्स की कुछ कार्यक्षमता का उपयोग करके उस आउटपुट को प्राप्त किया जाए या कुछ लॉग फ़ाइलों से आउटपुट प्राप्त करके कहा जाए।


18
आप डॉस 1.25 का उपयोग क्यों कर रहे हैं ?!
कल्टारी

41
@ केल्टरी: नो कष्टप्रद विंडोज 10 अपडेट सूचनाएं
मार्क के कोवान

6
यदि आपके सेटअप के बारे में आपके कोई अन्य प्रश्न हैं, जो यहाँ विषय पर नहीं होंगे , तो उस तरह की चीज़ के लिए समर्पित एक अन्य एसई साइट, रेट्रोक्रोमिंगिंग का प्रयास करें । (पूर्ण प्रकटीकरण: मैं उस साइट से थोड़ा सा संबद्ध हो सकता हूं ।)
wizzwizz4

4
यह सवाल मुझे फिर से युवा महसूस कराता है!
दिमित्री ग्रिगोरीव

9
MS-DOS 1.x अनिवार्य रूप से CP / M क्लोन है, जहां Ctrl-P ट्रिगर कंसोल को प्रिंटर पर कॉपी करता है। एक समान दृष्टिकोण इसलिए एमएस-डॉस में भी संभव हो सकता है।
थोरबजोरन रावन एंडरसन

जवाबों:


5

आप सीधे पढ़ने के लिए अपनी वर्चुअल मशीन डीबगिंग सुविधाओं (या जीडीबी / कुछ और) का उपयोग कर सकते हैं। ms-dos की कोई मेमोरी प्रोटेक्शन नहीं है और न ही यह एक मल्टी टास्क सिस्टम है, इसलिए आप वर्चुअल मशीन मेमोरी को पढ़ सकते हैं, आप इनपुट के लिए वर्चुअल मशीन vga पढ़ सकते हैं।

प्रलेखन का कहना है कि एक आदेश मौजूद है

info vgatext -- print the contents of the VGA framebuffer formatted as standard text mode

आउटपुट पाने के लिए सही सिंटैक्स है: रन VirtualBox --debug --startvm msdos1.25, फिर, डिबगर कंसोल में: info vgatext

कॉपी-पेस्ट किया गया आउटपुट:

The COMPAQ Personal Computer DOS                                                
Version 1.11                                                                    


(C) Copyright COMPAQ Computer Corp. 1982                                        
(C) Copyright Microsoft 1981, 82                                                


A>                                                                              











--------------------------------------------------------------------------------
VBoxDbg> 

तो, आप एक डिबगर स्क्रिप्ट लिख सकते हैं जो आपके प्रोग्राम की मेमोरी के अंदर एक मेमोरी वैल्यू पर हुक करती है और जब वीएजी स्क्रीन आउटपुट करता है तो डंप करता है या आप स्क्रिप्ट लिख सकते हैं जो सीपीयू को रोकती है, कंटेंट को लगातार बचाता है, अगर आउटपुट बदलता है, अपडेटेड कंटेंट को सेव करता है, जारी रखता है सीपीयू चलाते हैं

जांच करने के लिए कुछ विकल्प हैं:

  • अपने एप्लिकेशन की मेमोरी सामग्री को डंप करने के लिए डिबगिंग स्क्रिप्ट लिखने का तरीका जानें

  • कुछ डिबगिंग वीजीए ड्राइवर / सीरियल पोर्ट / क्यूमू / डोसबॉक्स / वर्चुअलबॉक्स के लिए मेमोरी डंपिंग समाधान ढूंढें

  • 80 से कुछ ओएलडी उपयोगिता कार्यक्रम ढूंढें, जो शायद किसी ने इस उद्देश्य के लिए वहां लिखा था

  • यहां फ्रीडोस टैग जोड़ें (या यहां तक ​​कि बड़े स्टैकओवरफ्लो पर अपने प्रश्न को आगे बढ़ाएं / दोहराएं, मुझे लगता है कि कुछ गुरुओं को इस तरह की समस्याओं के बारे में एक बात जानना चाहिए

अगर मुझे कुछ रोचक लगता है तो मैं बाद में अपडेट करूंगा, लेकिन क्या आप कृपया कुछ विवरणों को प्रकट कर सकते हैं कि आप 1.25 का उपयोग क्यों कर रहे हैं, क्या यह प्रोग्राम msdos के नए संस्करणों पर काम करता है? मुझे यकीन है कि आप कुछ युवा असेंबली हैकर को एक छोटे से शुल्क के लिए इस प्रोग्राम को एक नए संस्करण (या asm के साथ फ़ाइल आउटपुट को जोड़ने) के लिए उत्सुक कर सकते हैं


क्या आप उस प्रक्रिया के बारे में कुछ अतिरिक्त जानकारी दे सकते हैं, कृपया?
ब्लेक

@ अपडेट किया गया, लगता है info vgatextकि आपके द्वारा किए जाने वाले सभी कामों के बाद डिबगर के लिए एक सही स्क्रिप्ट
लिखनी होगी

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

1
यदि मैंने पहले से ही उत्तर नहीं दिया है, तो मैं निश्चित रूप से इसे चिह्नित करूंगा। आप सभी लोगों की मदद के लिए धन्यवाद।
ब्लेक

1
मुझे एक पाठ के रूप में अपने आवेदन का आउटपुट प्राप्त करने की आवश्यकता थी। प्रलेखन में उल्लेख किया गया है कि टर्मिनल में डिबग कंसोल का उपयोग कैसे करें। VBoxManaged डीबग्वम्स का उपयोग करना <डेब्यू मोड में पहले से ही शुरू हुआ नाम का नाम VM> जानकारी vgatext यह आपको टर्मिनल मोड में स्क्रीन प्रिंट करता है और उन्हें रीडायरेक्शन और कुछ प्रकार के सरल पार्सिंग का उपयोग करके मैं वह प्राप्त करने में कामयाब रहा जो मुझे चाहिए था। धन्यवाद।
ब्लेक

40

ऐसा लगता है कि [COMMAND]> [FILE] MS-DOS के शुरुआती संस्करणों में काम नहीं करता है।

मैं MS-DOS 1.25 का उपयोग कर रहा हूं और उपरोक्त अभिव्यक्ति स्टेटमेंट को अमान्य तर्क देती है

वह सही है। आप जो करना चाहते हैं वह v1.25 में संभव नहीं है।

कमांड पुनर्निर्देशन (कई अन्य सुधारों के साथ) v2.0 में जोड़ा गया था।

MS-DOS संस्करण 2.0 (PC-DOS 2.0 के बराबर) पहली बार मार्च 1983 में जारी किया गया था। यह, रेट्रोस्पेक्ट में, एक नया ऑपरेटिंग सिस्टम (हालाँकि MS-DOS संस्करण 1 के साथ संगतता बनाए रखने के लिए बहुत सावधानी बरती गई थी)। इसमें कई महत्वपूर्ण नवाचार और संवर्धित विशेषताएं शामिल हैं, जिनमें निम्नलिखित पृष्ठ पर सूचीबद्ध हैं।

  • बड़ी क्षमता वाले फ्लॉपी डिस्क और हार्ड डिस्क दोनों के लिए समर्थन
  • कई UNIX / XENIX जैसी सुविधाएँ, जिनमें एक पदानुक्रमित फ़ाइल संरचना, फ़ाइल हैंडल, I / O पुनर्निर्देशन, पाइप और फ़िल्टर शामिल हैं
  • पृष्ठभूमि मुद्रण (प्रिंट स्पूलिंग)
  • वॉल्यूम लेबल, प्लस अतिरिक्त फ़ाइल विशेषताएँ
  • इंस्टॉल करने योग्य डिवाइस ड्राइवर
  • एक उपयोगकर्ता-अनुकूलन प्रणाली-कॉन्फ़िगरेशन फ़ाइल जो अतिरिक्त डिवाइस ड्राइवरों के लोडिंग को नियंत्रित करती है, सिस्टम डिस्क बफ़र्स की संख्या और आगे
  • पर्यावरण ब्लॉकों का रखरखाव जो कार्यक्रमों के बीच जानकारी पारित करने के लिए इस्तेमाल किया जा सकता है
  • एक वैकल्पिक एएनएसआई डिस्प्ले ड्राइवर, जो प्रोग्राम को कर्सर को नियंत्रित करने और हार्डवेयर-स्वतंत्र तरीके से प्रदर्शन विशेषताओं को नियंत्रित करने की अनुमति देता है
  • अनुप्रयोग कार्यक्रमों द्वारा मेमोरी के गतिशील आवंटन, संशोधन और रिलीज के लिए समर्थन
  • अनुकूलित उपयोगकर्ता कमांड व्याख्याताओं के लिए समर्थन (गोले)
  • सिस्टम टेबल अपनी मुद्रा, समय और दिनांक स्वरूपों को संशोधित करने में एप्लिकेशन सॉफ़्टवेयर की सहायता के लिए (अंतर्राष्ट्रीय समर्थन के रूप में जाना जाता है)

स्रोत उन्नत एमएस-डॉस रे डंकन द्वारा प्रोग्रामिंग


मैं इसके बजाय क्या कर सकता हूं?

एक संभावित समाधान स्क्रीन पर कब्जा करने के लिए होगा (पाठ के रूप में) और आउटपुट को पार्स करें।

डॉस में इस सवाल का स्क्रीन कैप्चर का उत्तर कुछ टीएसआर (टर्मिनेट लेकिन स्टे रेजिडेंट) कार्यक्रमों को सूचीबद्ध करता है जो आपके लिए जांच शुरू कर रहे हैं।


13
अच्छा जवाब। केवल सुपर यूजर्स में से सबसे बड़ा एमएस-डॉस 1.0 के बारे में परवाह करेगा।
मैं कहता हूं कि

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

@ संभावित संभावित बदलाव स्क्रीन पर कब्जा करने के लिए होगा (पाठ के रूप में) और आउटपुट को पार्स करें। मैंने जवाब अपडेट कर दिया है।
DavidPostill

जब मैं इस tsr प्रोग्राम का उपयोग करने की कोशिश कर रहा हूं तो परिणामों की देरी के लिए मुझे अग्रिम खेद है। जैसे ही मुझे अपनी मशीन की सुविधा मिलेगी मैं आपको बता दूंगा। यह बहुत अच्छा विकल्प है और मैं ठीक से काम करने के लिए बहुत उम्मीद कर रहा हूं। क्या किसी अन्य प्रोग्राम को स्थापित करना आवश्यक है (जो उदाहरण के लिए यह tsr वातावरण बनाता है)?
ब्लेक

1
@Blake ऐसा नहीं है कि मैं याद रख सकता हूं, लेकिन यह कई साल है क्योंकि मैंने डॉस का इस्तेमाल किया है। ); आप परीक्षण में देरी के बारे में चिंता मत करो
DavidPostill

-3

आप सी स्थापित कर सकते हैं और डॉस कमांड लेने के लिए एक प्रोग्राम लिख सकते हैं, उन्हें एक शेल में चला सकते हैं और परिणाम लॉग कर सकते हैं। मेरा सुझाव है कि आप बोरलैंड टर्बो सी 2.01 का उपयोग करें। अगर आप कोड लिखना चाहते हैं तो आप क्विकबासिक में कोड भी लिख सकते हैं ... ;-)

https://archive.org/details/msdos_borland_turbo_c_2.01

व्यक्तिगत रूप से, मैं DOS 5.5 या 6 का उपयोग करूंगा, यह देखते हुए कि कुछ अतिरिक्त चीजें हैं जो आपको मिलेंगी।


1
क्या यह काम v1.25 में है?
ब्लेक

और यदि हां, तो क्या आप मुझे C स्थापित करने और परिणाम लॉग करने के लिए कुछ अतिरिक्त सहायता दे सकते हैं, बहुत-बहुत धन्यवाद।
ब्लेक

1
@ इसके लिए यह v1
edc65

किसी प्रोग्राम को लिखने के लिए C का उपयोग करना एक उपयोगी उत्तर होगा, यदि उसने ऐसे API का उल्लेख किया है जो आप इस तरह के प्रोग्राम को लिखते समय उपयोग करेंगे। (और, ज़ाहिर है, इस सवाल में स्पष्ट आवश्यकता को ध्यान में रखा गया है कि कोड डीओएस 1.x के साथ संगत होना चाहिए।) यह उत्तर न तो देता है। यह सिर्फ एक लोकप्रिय कंपाइलर / आईडीई पैकेज के लिए एक लिंक को जोड़ता है, ऐसे टूलसेट की प्रासंगिकता पर कोई मार्गदर्शन नहीं करता है।
कॉडी ग्रे

सी कंपाइलर में स्टड और स्टडआउट के लिए सुविधाएं हैं और यह शेल कमांड चला सकता है। मुझे नहीं पता कि डॉस 1 में कौन सा कंपाइलर काम करेगा। यदि आप बोर्ड को बनाए रखने के बारे में चिंतित हैं, तो एक बेहतर सवाल यह होगा कि कोई भी एमएस डॉस 1 के लिए कोड क्यों
लिखेगा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.