विंडोज पर एक बैच स्क्रिप्ट कैसे लिखें
क्या आप जानते हैं कि कमांड प्रॉम्प्ट का उपयोग कैसे किया जाता है? यदि आप करते हैं, तो आप एक बैच फ़ाइल लिख सकते हैं। अपने सरलतम रूप में, एक बैच फ़ाइल (या बैच स्क्रिप्ट) कई आदेशों की एक सूची है जो फ़ाइल को डबल-क्लिक करने पर निष्पादित होती है। बैच फाइलें सभी तरह से वापस डॉस में जाती हैं, लेकिन फिर भी विंडोज के आधुनिक संस्करणों पर काम करती हैं.
PowerShell स्क्रिप्ट और बैश स्क्रिप्ट अधिक शक्तिशाली हो सकती हैं, लेकिन यदि आपके पास बेसिक विंडोज कमांड चलाने की जरूरत है तो बैच फाइलें अभी भी बहुत उपयोगी हो सकती हैं.
बैच फ़ाइल मूल बातें
एक बैच फ़ाइल बस .bat फ़ाइल एक्सटेंशन के साथ सहेजी गई एक पाठ फ़ाइल है। आप नोटपैड का उपयोग करके एक या अधिक उन्नत टेक्स्ट एडिटर जैसे कि नोटपैड ++ का उपयोग करके लिख सकते हैं, लेकिन माइक्रोसॉफ्ट वर्ड जैसे वर्ड प्रोसेसर का उपयोग न करें.
चलिए एक साधारण बैच फ़ाइल बनाते हैं। सबसे पहले, नोटपैड खोलें। इसमें निम्न पंक्तियाँ लिखें:
ECHO OFF ECHO हैलो वर्ल्ड पेस
अगला, फ़ाइल> सहेजें पर क्लिक करके फ़ाइल को सहेजें। इसे कोई भी नाम दें जिसे आप पसंद करते हैं, लेकिन .bat एक्सटेंशन के साथ डिफ़ॉल्ट .txt फ़ाइल एक्सटेंशन को बदलें.
उदाहरण के लिए, आप इसे नाम देना चाह सकते हैं hello_world.bat
.
अब आपके पास .bat फ़ाइल एक्सटेंशन के साथ एक बैच फ़ाइल है। इसे चलाने के लिए इसे डबल क्लिक करें। यह विशेष बैच फ़ाइल ECHO को बंद कर देती है (जो प्रॉम्प्ट पर कमांड को प्रिंट करने से छिपाकर आउटपुट को साफ करती है, स्क्रीन पर "Hello World" टेक्स्ट को प्रिंट करती है, और इसके समाप्त होने से पहले आपको एक कुंजी दबाने के लिए इंतजार करती है.
अगर आपने नहीं जोड़ा रोकें
फ़ाइल के लिए, बैच फ़ाइल बस अपने कमांड चलाएगी और फिर स्वतः बंद हो जाएगी। इस स्थिति में, यह विंडो में "हैलो वर्ल्ड" प्रिंट करेगा और फिर कमांड प्रॉम्प्ट विंडो को तुरंत बंद कर देगा। जब आप आउटपुट को देखे बिना जल्दी से कमांड चलाना चाहते हैं, तो आप इसे छोड़ सकते हैं। यदि आप कई कमांड चला रहे हैं, तो आप जगह दे सकते हैं रोकें
उनके बीच में कमान.
अधिक जटिल बैच फ़ाइल लिखना
यह एक बैच फ़ाइल बनाने के लिए मौलिक रूप से सरल है। केवल एक चीज जिसे आपको बदलने की आवश्यकता है वह है जिसे आप नोटपैड में लिखते हैं। कई कमांड चलाने के लिए, आप प्रत्येक को अपनी लाइन पर टाइप करते हैं और बैच फ़ाइल क्रम में प्रत्येक को चलाती है.
उदाहरण के लिए, मान लें कि हम एक बैच फ़ाइल लिखना चाहते हैं जो कई नेटवर्क डायग्नोस्टिक कमांड को चलाती है। हम चलाना चाह सकते हैं ipconfig / सभी
नेटवर्क जानकारी देखने के लिए, ping google.com
यह देखने के लिए कि क्या Google के सर्वर जवाब दे रहे हैं, और tracert google.com
google.com पर एक ट्रेसरआउट चलाने के लिए और देखें कि रास्ते में कोई समस्या है या नहीं.
सबसे मूल रूप में, हम उन सभी कमांड को एक बैच फ़ाइल में रख सकते हैं, एक के बाद एक, जैसे:
ipconfig / all ping google.com tracert google.com PAUSE
जब हम इस फ़ाइल को चलाते हैं, तो हम प्रत्येक कमांड के आउटपुट को एक-दूसरे के ठीक बाद देखेंगे। लेकिन यह जरूरी नहीं है कि एक बैच फ़ाइल लिखने का आदर्श तरीका है.
उदाहरण के लिए, आप टिप्पणी लाइनें जोड़ना चाह सकते हैं। कोई भी रेखा जो ए से शुरू होती है ::
एक टिप्पणी लाइन है और इसे निष्पादित नहीं किया जाएगा। इससे उन्हें यह समझाने का एक उपयोगी तरीका मिल जाता है कि किसी के लिए फ़ाइल में क्या हो रहा है, आप उसे दे सकते हैं या अपने भविष्य के स्वयं के लिए, जो यह भूल सकते हैं कि आपने एक निश्चित आदेश क्यों रखा है.
आप फ़ाइल के आरंभ में "ECHO OFF" कमांड जोड़ना चाहते हैं। यह आमतौर पर अधिकांश बैच फ़ाइलों की शुरुआत में जोड़ा जाता है। जब आप ऐसा करते हैं, तो कमांड कमांड प्रॉम्प्ट पर स्वयं प्रिंट नहीं होंगे, लेकिन परिणाम होंगे। उदाहरण के लिए, आपको नेटवर्क कनेक्शन विवरण दिखाई देगा, लेकिन "ipconfig / all" लाइन नहीं। अधिकांश लोग आदेशों को देखने की परवाह नहीं करते हैं, इसलिए यह आउटपुट को साफ कर सकता है.
तो यहाँ है कि क्या लग सकता है:
:: यह बैच फ़ाइल नेटवर्क कनेक्शन समस्याओं के लिए जाँच करता है। ECHO OFF :: नेटवर्क कनेक्शन का विवरण देखें ipconfig / all :: अगर Google.com पहुंच योग्य है तो google.com की जाँच करें। :: Google.com tracert google.com PAUSE के मार्ग की जाँच करने के लिए एक अनुरेखक चलाएँ।
अन्य दिशाएं हैं जो आप इस तरह से एक बैच फ़ाइल के साथ जा सकते हैं। उदाहरण के लिए, आप अपने बैच स्क्रिप्ट को उपरोक्त आदेशों को चलाना चाहते हैं और फिर आउटपुट को एक पाठ फ़ाइल में डंप कर सकते हैं जिसे आप बाद में देख सकते हैं। ऐसा करने के लिए, आप इसका उपयोग करेंगे >>
प्रत्येक कमांड के बाद ऑपरेटर अपने आउटपुट को टेक्स्ट फ़ाइल में जोड़ता है। जैसा कि हम पाठ फ़ाइल से आउटपुट को वैसे भी पढ़ने जा रहे हैं, हम इसे छोड़ सकते हैं रोकें
आदेश.
:: यह बैच फ़ाइल नेटवर्क कनेक्शन समस्याओं की जाँच करती है :: और आउटपुट को एक .txt फ़ाइल में सहेजती है। ECHO OFF :: नेटवर्क कनेक्शन विवरण देखें ipconfig / all >> results.txt :: जांचें कि क्या Google.com, google.com के लिए उपलब्ध है। com >> results.txt
उपरोक्त स्क्रिप्ट चलाने के बाद, आपको परिणाम में एक फ़ाइल मिलेगी। जिसका नाम कमांड के आउटपुट के साथ बैच फ़ाइल के समान फ़ोल्डर में है। बैच फ़ाइल चलने के बाद कमांड प्रॉम्प्ट विंडो अपने आप बंद हो जाएगी.
उदाहरण हम ऊपर का उपयोग कर रहे हैं वास्तव में कमांड प्रॉम्प्ट के लिए मुद्रण जानकारी पर निर्भर करता है ताकि उपयोगकर्ता इसे पढ़ सकें। हालाँकि, कई बैच फ़ाइलों को गैर-संवादात्मक रूप से चलाने के लिए डिज़ाइन किया गया है। उदाहरण के लिए, आपके पास एक बैच फ़ाइल हो सकती है जो जब भी आप इसे डबल-क्लिक करते हैं तो कई फाइलें या निर्देशिकाएं हटा देती हैं। तुम बस का उपयोग करने की आवश्यकता होगी डेल
फ़ाइलों को हटाने के लिए या deltree
निर्देशिकाओं को हटाने का आदेश। याद रखें, आप केवल उसी कमांड का उपयोग कर रहे हैं जिसे आप कमांड प्रॉम्प्ट विंडो में चलाएंगे.
मौलिक रूप से, यह अधिकांश बैच फ़ाइलों का बिंदु है-बस एक के बाद एक कुछ कमांड चला रहा है। हालाँकि, बैच फ़ाइलें वास्तव में इससे अधिक जटिल हो सकती हैं। उदाहरण के लिए, आप कुछ के मूल्य की जांच करने के लिए "GOTO" कमांड के साथ "IF" स्टेटमेंट का उपयोग कर सकते हैं और फिर परिणाम के आधार पर विभिन्न लाइनों पर जा सकते हैं। यह एक त्वरित और गंदे स्क्रिप्ट की तुलना में एक वास्तविक छोटे कार्यक्रम को लिखने की तरह है। यही कारण है कि .bat फ़ाइलों को कभी-कभी "बैच प्रोग्राम" कहा जाता है, यदि आप कुछ अधिक जटिल करना चाहते हैं, तो आपको बैच प्रोग्रामिंग के साथ विशिष्ट चीजें करने के लिए बहुत सारे गाइड मिलेंगे। लेकिन अब, आप मूल बातें जानते हैं कि एक साधारण को एक साथ कैसे फेंकना है.