से बैच प्रोग्रामिंग सेटिंग ERRORLEVEL मुझे बैच स्क्रिप्ट्स को कॉल करने वाले प्रोग्राम में त्रुटि स्तर की रिपोर्ट करने की आवश्यकता मिली है।असफल FIND कमांड
स्क्रिप्ट एक सीएसवी लॉग फ़ाइल तैयार करेगी जिसे मैं प्रदर्शित करने के लिए जांचना चाहता हूं कि स्क्रिप्ट सफलतापूर्वक चल रही है या नहीं।
मैं क्या कह चाहते हैं,
IF NOT FIND "[ERR" "test.csv"
या कहने के लिए कुछ ऐसा है कि अगर स्ट्रिंग "[ERR"
उत्पादन ERRORLEVEL = 0 ELSE ERRORLEVEL = 1
आशा में नहीं है यह समझ में आता है। मुझे यकीन है कि यह आसान है लेकिन त्रुटि स्तर को सेट करना एक $ se में शाही दर्द लगता है!
हाय डबेंहम, आपके उत्तर के लिए धन्यवाद लेकिन दुर्भाग्यवश बस/वी को लगता है कि त्रुटिशील हमेशा हमेशा 0 पर सेट हो रहा है। इसके अलावा मैंने दूसरी प्रतिक्रिया का परीक्षण करने के लिए इस बैच फ़ाइल का उपयोग करने का प्रयास किया है। FIND "[ERR" " test.csv "सेट MyERROR = 1 EXIT/B% MYERROR% जब मैं% errorlevel% गूंजता हूं तो यह हमेशा 1 वापस आना चाहिए, लेकिन यह केवल तभी होगा यदि [ERR test.csv फ़ाइल में नहीं है! क्या मैं वाक्यविन्यास के साथ कुछ गलत कर रहा हूँ? सभी 3 कथन अलग-अलग लाइनों पर हैं लेकिन मुझे इसका प्रतिनिधित्व करने के लिए एक नई लाइन शुरू करने में सक्षम नहीं लगता है! आपके उत्तर से पहले धन्यवाद! –
dbenham! इस बार फिर से चलने के बाद, मैंने पाया कि मैंने डॉस स्कूली लड़के की त्रुटि क्या की है! मैंने err = 1 के बजाय त्रुटि = 1 सेट किया है। इसे पढ़ने के लिए किसी और के लिए, इसका अर्थ यह है कि, जब आप एसईटी ईआरआर = 1 टाइप करते हैं तो परिवर्तनीय नाम 'ईआरआर' नहीं 'ईआरआर' होता है। धन्यवाद! –
'/ V' निर्दिष्ट करने से केवल विफलता होगी (ERRORLEVEL == 1) यदि फ़ाइल में * सभी * पंक्तियों में निर्दिष्ट मान होता है। यह परीक्षण से उलट जाता है * इसमें x * से * x * नहीं होता है, ERRORLEVEL 0 होने पर, यदि कोई पंक्तियां मिलती हैं जो परीक्षण से मेल खाते हैं। – Corey