मूल 7.00 से बाहर निकलें कोड (त्रुटि स्तर) बैच फ़ाइल में वापस आ सकते हैं

रिटायर्ड KB सामग्री अस्वीकरण

यह आलेख उन उत्पादों के बारे में लिखा गया था जिनके लिए अब Microsoft समर्थन प्रदान नहीं करता है . इसलिए, यह आलेख "जैसा है" वैसा ही ऑफ़र किया गया है और अब इसका अद्यतन नहीं किया जाएगा.

सारांश

MS-DOS बैच संसाधन (। BAT) फ़ाइलें किसी "यदि ERRORLEVEL n" कथन कुछ प्रोग्राम्स द्वारा लौटाए गए से बाहर निकलें कोड स्तर का पता लगाने के लिए उपयोग कर सकते हैं।


हालाँकि, Microsoft मूल प्रोफेशनल डेवलपमेंट सिस्टम (PDS) संस्करण 7.00 और 7.10 MS-DOS में कोई त्रुटि स्तर कोड देने के लिए प्रोग्राम की अनुमति दें जो केवल संस्करण Microsoft Basic के होते हैं। अंत n या n कथन रोकें त्रुटि स्तर n मूल 7.00 या 7.10 लाया बैच फ़ाइल करने के लिए देता है। EXE प्रोग्राम है। बैच फ़ाइल में यदि ERRORLEVEL n कथन दिए गए से बाहर निकलें कोड के बराबर या इससे अधिक न होने का पता लगा कर सकते हैं।


सभी अन्य के संस्करणों Microsoft Basic में, मूल प्रोग्राम द्वारा लौटाया गया त्रुटि स्तर (बाहर निकलें) कोड मूल रन-टाइम मॉड्यूल द्वारा, नहीं आपके प्रोग्राम द्वारा नियंत्रित किया जाता है। वैकल्पिक रूप से, आप मूल प्रोग्राम में किसी विशेष स्थिति होती है जब एक ध्वज के रूप में काम करने के लिए कोई फ़ाइल बना सकते हैं। बैच फ़ाइल को प्रोग्राम कहा जाता है उसके बाद की मौजूदगी की जाँच के लिए कोई त्रुटि स्तर के स्थान पर ध्वज फ़ाइल के लिए जाँच कर सकते हैं। "IF EXIST फ़ाइलनाम" आदेश बैच फ़ाइलों में उपयोग किया जा सकता है।


MS-DOS बैच फ़ाइल में कोई त्रुटि स्तर देने के लिए आपके प्रोग्राम निम्न उत्पादों की अनुमति न देना:


  1. QuickBasic संस्करण 1.00, 1.01, 1.02, 2.00, 2.01, 3.00, 4.00, 4.00b और MS-DOS के लिए 4.50
  2. Microsoft GW Basic संस्करण 3.20, 3.22 और MS-DOS के लिए 3.23
  3. 5.35 और MS-DOS और संस्करणों और MS-DOS और MS OS/2 के लिए 6.00b 6.00 के लिए 5.36 Microsoft मूल कंपाइलर संस्करण

अधिक जानकारी

अपने मूल प्रोग्राम भी MS-DOS interrupts (कॉल प्रोग्राम में कोई त्रुटि स्तर; समाप्त करने के लिए बाधा) प्रारंभ करने के लिए प्रयास नहीं होना चाहिए अन्यथा, असामान्य परिणाम हो सकती है और मशीन हैंग हो सकता है। मूल प्रोग्राम समाप्ति स्वयं द्वारा संचालित होगा।

बाहर निकलें कोड (ERRORLEVEL) बैच फ़ाइल में वापस आ सकते हैं या मूल 7.00 7.10

एक है। EXE प्रोग्राम संकलित में मूल 7.00 या 7.10% n रोक या समाप्त करें n % कथन निम्नानुसार किसी बाहर निकलें कोड (% n %), MS-DOS के लिए लौटने के लिए उपयोग कर सकते हैं:
   ' TEST.BAS   PRINT "This is a Basic program that returns an exit code of 5."
n% = 5
END n%

बाहर निकलें कोड यदि ERRORLEVEL n कथन पर जाएँ, के साथ कोई MS-DOS बैच फ़ाइल में निम्नानुसार trapped हो सकते हैं:
   TEST   ECHO OFF
IF NOT ERRORLEVEL 1 GOTO DONE
ECHO An error occurred with exit code 1 or higher.
:DONE
ECHO End of batch file.

एक बैच फ़ाइल के लिए एक ध्वज के रूप में किसी फ़ाइल का उपयोग करना

निम्नलिखित तकनीक किसी भी मूल संस्करण एक बैच फ़ाइल के लिए कोई साधारण हाँ या नहीं संदेश दे देता है।


निम्न बैच फ़ाइल, ERRT. शर्त लगाना, मूल प्रोग्राम वापस करने के लिए बैच फ़ाइल जाता ERRTST, कॉल करता है। यह तब फ़ाइल ERRFIL (जो एक हो नाम है) की मौजूदगी के लिए त्रुटि मूल प्रोग्राम चलाने के दौरान उत्पन्न हुई, तो यह देखने के लिए जाँच करता है:
   echo off   del errfil
errtst
if not exist errfil goto end
echo An error occurred during program running
:end
echo End of batch file

निम्न फ़ाइल ERRTST है। BAS; यह कि गारबेज फ़ाइल नहीं खोल सकता, तो यह त्रुटि फ़ाइल बनाता है। DAT:
' set up to error out if "GARBAGE.DAT" does not existON ERROR GOTO errorlevel
OPEN "garbage.dat" FOR INPUT AS #1
CLOSE #1
END
errorlevel:
CLOSE #1
OPEN "errfil" FOR OUTPUT AS #1 'Create file that acts as a flag
CLOSE #1
SYSTEM ' Returns to DOS.

इस कार्यविधि है करने के लिए, संकलित करें और ERRTST लिंक। BAS अनुवर्ती के रूप में:
   BC ERRTST.BAS;   LINK ERRTST.OBJ;

अब ERRT बैच फ़ाइल चलाएँ। BAT. यदि गार्बेज मूल प्रोग्राम नहीं ढूँढ सकता। DAT, ERRT. BAT दिखाता है "कोई प्रोग्राम चल रहा के दौरान त्रुटि."
गुण

आलेख ID: 41533 - पिछली समीक्षा: 18/01/2017 - संशोधन: 1

प्रतिक्रिया