मेरी समस्या यह है कि विंडोज़ में, कमांड लाइन की खिड़कियां हैं जो निष्पादन के तुरंत बाद बंद हो जाती हैं। इसे हल करने के लिए, मैं चाहता हूं कि डिफ़ॉल्ट व्यवहार हो कि खिड़की खुली रखी जाए। आम तौर पर, मेरे मन में आने वाले तीन तरीकों से इस व्यवहार से बचा जा सकता है:
pause
बाहर निकलने से पहले एक कुंजी दबाने के लिए उपयोगकर्ता को संकेत देने के लिए बैच प्रोग्राम के बाद एक लाइन डालना- इन बैच फ़ाइलों को चलाने या अन्य कमांड लाइन में हेरफेर करने वाले उपकरण (यहां तक कि सेवा शुरू करना, पुनः आरंभ करना, आदि
net start xy
) या कुछ इसी तरह से) भीतरcmd.exe
(प्रारंभ - रन - cmd.exe) - इन कार्यक्रमों को
cmd /k
इस तरह से चलाना :cmd /k myprogram.bat
लेकिन कुछ अन्य मामले हैं जिनमें उपयोगकर्ता:
- प्रोग्राम को पहली बार चलाता है और यह नहीं जानता है कि दिया गया प्रोग्राम कमांड प्रॉम्प्ट (विंडोज कमांड प्रोसेसर) में चलेगा, जैसे स्टार्ट मेनू से शॉर्टकट चला रहा है (या कहीं और से), या
- सभी समय cmd.exe को चलाने के लिए इसे थोड़ा असहज लगता है और उनके पास इन आदेशों के कोड को फिर से लिखने या उनके बाद एक विराम लगाने या स्पष्ट रूप से बाहर निकलने से बचने का समय / अवसर नहीं है।
मैंने ऑटोरन प्रविष्टि बनाने और इन स्थानों में इसकी सामग्री में हेरफेर करने के साथ, इसे स्पष्ट रूप से खोलने पर डिफ़ॉल्ट व्यवहार को बदलने के बारे में एक लेख पढ़ा है :cmd.exe
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor\AutoRun
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Command Processor\AutoRun
(ऑटोरुन आइटम हैं _String values_
...)
मैंने cmd /d /k
इसे एक कोशिश के रूप में इसके मूल्य के रूप में रखा , लेकिन इसने ऊपर वर्णित सामानों के व्यवहार को बिल्कुल नहीं बदला ... इसे स्पष्ट रूप से खोलते समय कमांड लाइन विंडो के व्यवहार को बदल दिया (स्टार्ट-रन-) cmd.exe)।
तो यह कैसे काम करता है? क्या आप मुझे इस समस्या को हल करने के लिए कोई विचार दे सकते हैं?
stdout
निरंतर आधार पर भेजी जाती हैं जो कि एक अच्छे कारण के लिए कभी भी दिखाई नहीं देती थीं।