दिलचस्प पोस्ट
क्या SQL सर्वर एक्सप्रेस LocalDB को दूरस्थ रूप से कनेक्ट किया जा सकता है? सी ++ कस्टम स्ट्रीम मैनिप्युलेटर जो स्ट्रीम पर अगले आइटम को बदलता है आवेदन के विभिन्न पृष्ठों पर नेविगेट करने के लिए टकन्नेटर में बटन का उपयोग करना? मैं स्वचालित रूप से एक यूट्यूब वीडियो (IFrame API) को कैसे म्यूट करूँ? स्विफ्ट में रेंज कैसे बनाएं? क्यूटी 5.2 मॉडल-व्यू-पैटर्न: अंतर्निहित डेटा संरचना में परिवर्तन के बारे में मॉडल वस्तु को कैसे सूचित करें ग्लासफिश में तीसरे पक्ष के पुस्तकालयों का उपयोग कैसे करें? नई गतिविधि शुरू करते समय प्रगति संवाद C ++ संघ सी # में नाम से प्रक्रिया को मारना? एक ऐप एक्सटेंशन के साथ कोकोपोड्स का उपयोग करें नापसंद के रूप में जावा विधि को घोषित करने या चिह्नित करने के लिए कैसे? यूनिकोड, यूटीएफ -8, यूटीएफ -16 क्या है? जावा का उपयोग कर छवि से पिक्सेल डेटा प्राप्त करना खोल स्क्रिप्ट में HTML तालिका से डेटा कैसे निकालें?

मैं एक बीएटी स्क्रिप्ट कैसे डीबग कर सकता हूं?

क्या एक .bat स्क्रिप्ट के माध्यम से कदम है? बात यह है कि मेरे पास एक लिपि स्क्रिप्ट है, जो कई अन्य स्क्रिप्ट कॉल करता है, और मुझे यह देखना है कि किस क्रम में उन्हें बुलाया गया है, यह जानना चाहूंगा, ताकि मुझे पता चल जाये कि मुझे कहाँ जाना है और मेरे संशोधनों को जोड़ना है ।

Solutions Collecting From Web of "मैं एक बीएटी स्क्रिप्ट कैसे डीबग कर सकता हूं?"

मुझे किसी भी .bat फ़ाइल के निष्पादन के माध्यम से कदम रखने के लिए वैसे भी नहीं पता है लेकिन आप डीबगिंग में मदद करने के लिए echo और pause का उपयोग कर सकते हैं।

ECHO
बैच फ़ाइल में एक संदेश को गूंज जाएगा। जैसे कि ईसीओ हैलो वर्ल्ड स्क्रीन पर हैलो वर्ल्ड प्रिंट करेगा जब उसे निष्पादित किया जाएगा। हालांकि, बैच फ़ाइल की शुरुआत में एचो OFF के बिना आपको "ईसीओ हैलो वर्ल्ड" और "हैलो वर्ल्ड" भी मिलेगा। अंत में, यदि आप एक रिक्त रेखा बनाना चाहते हैं, तो टाइप करें ECHO अंत में अवधि जोड़ना एक खाली रेखा बनाता है

रोकें
जारी रखने के लिए कोई भी कुंजी दबाकर उपयोगकर्ता को संकेत दें।

स्रोत: बैच फ़ाइल सहायता

@ workmad3: उत्तर में echo कमांड के साथ काम करने के लिए और अधिक अच्छे सुझाव दिए गए हैं

एक अन्य उपयोगी संसाधन … डीडीबी: डॉस बैच फ़ाइल टिप्स

सुनिश्चित करें कि स्क्रिप्ट्स में कोई 'इको ऑफ' स्टेटमेंट नहीं हैं और प्रत्येक स्क्रिप्ट को कॉल करने के बाद 'एको ऑन' पर कॉल करें, जिसको आपने याद किया है।

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

इसके अलावा, सुनिश्चित करें कि आप बुले बैच स्क्रिप्ट और प्रोग्राम द्वारा सेट किए गए त्रुटि लेवल की जांच कर रहे हैं। याद रखें कि इसके लिए .bat फ़ाइलों में इस्तेमाल होने वाले 2 अलग-अलग तरीकों हैं यदि आपने एक प्रोग्राम बुलाया है, तो त्रुटि स्तर% ERRORLEVEL% में है, जबकि बैच फ़ाइलों में से त्रुटि स्तर त्रुटि स्तर चर में लौटा है और इसके आसपास% की आवश्यकता नहीं है।

इसी तरह की चिंता का सामना करते हुए, मुझे तुच्छ गूगल खोज के साथ निम्नलिखित उपकरण मिला:

जेपीएसॉफ़्ट की " लॉ कमान " में एक बैच फ़ाइल आईडीई / डीबगर शामिल है। उनकी लघु प्रस्तुति वीडियो यह अच्छी तरह से दर्शाती है

मैं कुछ घंटों के बाद से परीक्षण संस्करण का उपयोग कर रहा हूं। यहां मेरी पहली विनम्र राय है:

  • एक ओर, यह वास्तव में डीबगिंग .bat और .cmd स्क्रिप्ट की अनुमति देता है और अब मुझे विश्वास है कि यह कुछ मामलों में मदद कर सकता है
  • दूसरी ओर, यह कभी-कभी ब्लॉक होता है और मुझे इसे मारना होता था … विशेष रूप से जब सबस्क्रिप्ट डीबग करना (हमेशा व्यवस्थित नहीं) .. यह एक "कॉल स्टैक" और न ही "चरण बाहर" बटन दिखाती है

यह एक कोशिश deverves

मुझे 'चलने वाले कदम' (Win32) सॉफ़्टवेयर जो मैंने देख रहे थे वही करवाए: http://www.steppingsoftware.com/

आप एक बैट फ़ाइल लोड कर सकते हैं, ब्रेकपॉइंट्स को जगह / आउटपुट और पर्यावरण चर को देखते हुए इसके माध्यम से कदम शुरू कर सकते हैं।

मूल्यांकन संस्करण केवल 50 लाइनों के माध्यम से कदम की अनुमति देता है … क्या किसी के समान कार्यक्षमता के साथ एक मुफ्त विकल्प है?

एचो ऑफ़ को हटा दें और अपने बैच फ़ाइल को सभी फाइलों को एक लॉग फ़ाइल में रीडायरेक्ट करें ..

c:> yourbatch.bat (वैकल्पिक पैरामीटर)> yourlogfile.txt 2> और 1

http://www.robvanderwoude.com/battech_debugging.php पर पाया

यह काम करता हैं!! 2> और 1 को मत भूलना …

जानकार

मैं सोच सकता है कि एकमात्र तरीका है echo के साथ कोड को छिड़कना और pause

क्या आपने परिणाम को किसी फ़ाइल में पुनः स्थापित करने का प्रयास किया? जैसे कुछ भी.बेट> लॉग। Txt

आपको यह सुनिश्चित करना है कि इस मामले में हर दूसरे स्क्रिप्ट भी फाइल जैसे log.txt जैसे लॉगिंग कर रही है

इसके अलावा यदि आप शुरुआत में और उस बैच फ़ाइल के अंत में दिनांक / टी और समय / टी डालते हैं, तो आप उस समय उस समय प्राप्त करेंगे और आप अपनी स्क्रिप्ट चलाने के समय और क्रम को मैप कर सकते हैं।

या …. अपनी मुख्य .bat फ़ाइल को किसी अन्य .bat फ़ाइल से कॉल करें और नतीजा परिणाम फ़ाइल यानी परिणाम दें

runner.bat> mainresults.txt

जहां runner.bat मुख्य .bat फ़ाइल कॉल करता है

आपको मुख्य .bat फ़ाइल में किए गए सभी कार्यों को अब देखना चाहिए

यह सही ansver है

 command /y /C myfile.bat 

या / / या / के द्वारा निर्दिष्ट बैच कार्यक्रम के माध्यम से कमांड / वाई / के myfile.bat / y कदम (केवल एमएस-डॉस 6.x और ऊपर में उपलब्ध)। / सी / सी या / के द्वारा निर्दिष्ट बैच कार्यक्रम के माध्यम से कदम (केवल एमएस-डॉस 6.x और ऊपर में उपलब्ध)।

आप अन्य पैरामीटर जोड़ना चाहते हैं, जैसे कि / z के लिए

डॉस 6 या इसके बाद के संस्करण विंडोज 98 के नीचे सिस्टम के लिए काम नहीं करता। मुझे नहीं लगता कि यह विंडोज़ 2000 के पूर्व संस्करण के लिए काम करता है।

सत्यापित करने के लिए मैंने वर्चुअलबॉक्स में msdos 7.1 को स्थापित किया है।

या, एक सीएमडी विंडो खोलें, फिर बैच को वहां से कॉल करें, आउटपुट स्क्रीन पर होगा।