विज्ञापन

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

इस लेख में आप पाँच मुख्य प्रकार के IF विवरणों के बारे में जानने जा रहे हैं जिनका उपयोग आप Windows बैच फ़ाइल में कर सकते हैं, सही सिंटैक्स कैसे दिखता है, और प्रत्येक के लिए एक यथार्थवादी उदाहरण है।

यदि आप स्क्रिप्टिंग शुरू करने के लिए तैयार हैं, तो चलिए शुरू करते हैं!

1. मूल्यों की तुलना करें

आमतौर पर एक बैच स्क्रिप्ट में आपको जिन बुनियादी चीजों की आवश्यकता होती है, उनमें से एक है दो मूल्यों की तुलना करें और तुलना के आधार पर कार्रवाई के एक अलग पाठ्यक्रम का पालन करें।

उदाहरण के लिए, मान लें कि आप एक बैच स्क्रिप्ट लिखना चाहते हैं जो आपके कंप्यूटर की हार्ड ड्राइव के आकार को रोजाना चेक करती है। यदि यह 3 जीबी से नीचे है, तो आप एक ईमेल रिपोर्ट प्राप्त करना चाहते हैं जो कहती है, "हार्ड ड्राइव स्पेस बहुत कम।"

एक स्क्रिप्ट बनाने के लिए जो आपकी सीमा में वर्तमान मुफ्त हार्ड ड्राइव स्थान की तुलना करती है, आप निम्न बैच स्क्रिप्ट बना सकते हैं और इसे एक .bc फ़ाइल के रूप में सहेज सकते हैं।

instagram viewer
@ तो बंद। सेट ड्राइवलिमिट = 300000000। for / f "usebackq delims == tokens = 2" %% x in (`wmic तार्किकडिस्क जहां" DeviceID = 'C:' "FreeSpace / format: value` प्राप्त करें) FreeSpace = %% x सेट करें। इको फ्रीस्पेस = "% फ्रीस्पेस%" इको लिमिट = "% ड्राइवलिमिट%" यदि% FreeSpace% GTR% DriveLimit% (इको वहाँ पर्याप्त खाली स्थान है। ) और (इको पर्याप्त खाली स्थान नहीं है। )

WMIC विंडोज का विंडोज मैनेजमेंट इंस्ट्रूमेंटेशन कंपोनेंट है जो कमांड की एक असेंबल के साथ आता है जिसका उपयोग आप पीसी की जानकारी खींचने के लिए कर सकते हैं। इस तरह से इस स्क्रिप्ट में "विकमिक" कमांड "लॉजिकलडिस्क" स्थान को कॉल करता है और इसे फ्रीस्पेस चर में रखता है। अब आप बस एक अलर्ट भेजने के लिए एक ब्लट ईमेल कमांड के साथ लाइन "इको नॉट अ फ्री स्पेस" की जगह ले सकते हैं।

अंत में, इस स्क्रिप्ट को एक विंडोज़ शेड्यूल किए गए बैच जॉब के रूप में सेट करें जो रोज़ चलता है।

यदि आपने पहले कभी ब्लट का उपयोग नहीं किया है, तो हमारे पास एक लेख है जो आपको दिखाता है ब्लट कैसे सेट करें. अनुसूचित नौकरियों की स्थापना से अपरिचित? हमने आपको एक लेख के साथ कवर किया है विंडोज शेड्यूल किए गए कार्यों को कैसे सेट करें 4 बोरिंग कार्य आप विंडोज टास्क समयबद्धक के साथ स्वचालित कर सकते हैंदोहराए जाने वाले कार्यों के साथ बर्बाद होने के लिए आपका समय बहुत मूल्यवान है। आइए हम आपको दिखाते हैं कि कार्यों को स्वचालित और शेड्यूल कैसे करें। हमारे पास कुछ महान उदाहरण भी हैं। अधिक पढ़ें .

2. स्ट्रिंग तुलना

एक और मूल्यवान यदि आप एक बैच नौकरी में कर सकते हैं तुलना है तार की तुलना.

निम्नलिखित उदाहरण में आप देखेंगे कि बैच कार्य का उपयोग करके अपने विंडोज संस्करण की जांच कैसे करें। फिर आप इसे अपने अपेक्षित विंडोज संस्करण से तुलना कर सकते हैं।

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

यहाँ यह स्क्रिप्ट कैसी दिखती है।

@ तो बंद। for / f "टोकन = 4-5 डेलिम्स =। "%% i in ('ver') VERSION = %% i। %% j सेट करें। अगर "% संस्करण%" == "6.0" प्रतिध्वनि विंडोज़ विस्टा। अगर "% संस्करण%" == "6.1" प्रतिध्वनि विंडोज 7। अगर "% संस्करण%" == "6.2" प्रतिध्वनि विंडोज 8। अगर "% संस्करण%" == "6.3" प्रतिध्वनि विंडोज 8.1। अगर "% संस्करण%" == "10.0" प्रतिध्वनि विंडोज़ 10। 

यहाँ इस स्क्रिप्ट का आउटपुट कैसा दिखता है

बैच फ़ाइल, विंडोज, प्रोग्रामिंग

बैच में तार की तुलना करने की क्षमता संभावनाओं की पूरी सूची को खोलती है। यदि आप सभी का अन्वेषण करते हैं जानकारी आप एक WMIC कमांड से प्राप्त कर सकते हैं आप देखेंगे कि आपके कंप्यूटर के बारे में कितने आँकड़े आप देख सकते हैं। इन पर सचेत करने के लिए आप अनुसूचित बैच की नौकरियों का उपयोग कर सकते हैं।

3. एक फ़ाइल मौजूद है, तो जाँच करें

एक और उपयोगी स्थिति जहां बैच फ़ाइल में एक IF स्टेटमेंट है डेटा फ़ाइल के अस्तित्व की जाँच करें.

बहुत बार बैच की नौकरी सिर्फ एक निगरानी उपकरण है जिसे एक विशिष्ट निर्देशिका में नई आने वाली डेटा फ़ाइलों की जांच करने के लिए निर्धारित किया जा सकता है।

फिर, बैच कार्य या तो उस फ़ाइल को किसी अन्य स्थान पर कॉपी कर सकता है जहाँ इसे संसाधित किया जा सकता है, या कुछ विंडोज़ स्क्रिप्ट को बंद कर सकता है जो फ़ाइल को एक्सेल आउटपुट में संसाधित करता है।

(हमने पूर्व में कैसे लिखा है के बारे में लिखा है Excel फ़ाइल में डेटा संसाधित करने के लिए Windows स्क्रिप्ट का उपयोग करें 5 उपयोगी वीबी विंडोज स्क्रिप्ट आपके कंप्यूटर के उपयोग को स्वचालित करने के लिएवेबसाइट मॉनिटरिंग से लेकर सिस्टम रिपोर्ट तक, इन अद्भुत VB स्क्रिप्ट्स के साथ सभी चीजों को स्वचालित करना सीखें जिन्हें आप अभी विंडोज में कोड कर सकते हैं। अधिक पढ़ें ; कुछ अच्छी पृष्ठभूमि पढ़ना।)

बैच फ़ाइल का उपयोग यह जांचने के लिए कि क्या निर्देशिका में कोई फ़ाइल मौजूद है, त्वरित और आसान है। यहाँ वह स्क्रिप्ट कैसी दिखती है।

@ तो बंद। यदि मौजूद है c: \ temp \ datafile.txt (% WINDIR% \ SysWOW64 \ cmd.exe cscript LoadToExcel.vbs। ) और (रेम फ़ाइल मौजूद नहीं है )

IF EXISTS की तुलना बहुत सारी चीजों के लिए उपयोगी है।

उदाहरण के लिए यदि आपके पास कोई सिस्टम या एप्लिकेशन चल रहा है जो किसी विशिष्ट फ़ोल्डर में नई त्रुटि लॉग बनाता है, तो एक समस्या है, आप हर बार एक बैच जॉब चला सकते हैं ताकि यह पता लगाया जा सके कि क्या नई त्रुटि लॉग बनाई गई है ताकि आप एक भेज सकें चेतावनी।

4. जांचें कि क्या कोई कमांड विफल है

बैच फ़ाइल स्क्रिप्टिंग का एक पहलू जो बहुत कम आईटी लोग या प्रोग्रामर उपयोग करते हैं त्रुटियों के लिए जाँच कर रहा है.

वहाँ बहुत सारे बैच की नौकरियां चल रही हैं जो महत्वपूर्ण आईटी कार्यों का प्रदर्शन कर रही हैं जैसे महत्वपूर्ण फाइलें बैकअप करना या फ़ाइल कॉपी ऑपरेशन चलाना। जब ये बैच नौकरियां विफल हो जाती हैं, तो सिस्टम विफल हो जाता है और लोग नोटिस करते हैं।

जब आपका बैच काम एक कमांड में विफल हो गया है, तो अलर्ट पाने के लिए यह अधिक स्मार्ट है इससे पहले लोग ध्यान देने लगते हैं। इस तरह से आप समस्या को ठीक कर सकते हैं।

आप% errorlevel% वैरिएबल का उपयोग करके ऐसा कर सकते हैं कि अधिकांश एप्लिकेशन और कमांड चलने के बाद वापस आते हैं।

आपको केवल IF% ERRORLEVEL% कमांड द्वारा अपने आदेश का पालन करना है। यदि एप्लिकेशन या कमांड एक शून्य लौटा, तो सब ठीक है। यदि नहीं, तो आपको अपने आप को एक ईमेल भेजने की आवश्यकता है।

@ तो बंद। xcopy C: \ somefolder E: \ backupfolder। यदि% ERRORLEVEL% NEQ 0 

आपको ईमेल मार्ग नहीं लेना है। आप हमेशा एक त्रुटि लॉग लिख सकते हैं जिसे आप हर सुबह जांच सकते हैं, या एक दूसरा एप्लिकेशन या कमांड लॉन्च कर सकते हैं जो एक वैकल्पिक आदेश का उपयोग करके कॉपी करने का प्रयास करता है। आप जो भी कार्रवाई करना चाहते हैं, यदि IF% ERRORLEVEL% आपको करने देता है।

यदि आप विशिष्ट त्रुटि कोड की जांच करने के लिए IF कथन का उपयोग करते हैं, तो Windows एक बहुत अच्छा प्रदान करता है त्रुटि कोड की व्यापक सूची.

5. गुम पैरामीटर के लिए जाँच करें

अंतिम उपयोगी IF स्टेटमेंट एक विशिष्ट कमांड नहीं है, लेकिन इसके बजाय उस स्क्रिप्ट की जांच करें उपयुक्त इनपुट मापदंडों को प्राप्त किया.

उदाहरण के लिए, मान लें कि आपने एक स्क्रिप्ट लिखी है जो एक इनपुट फ़ोल्डर से एक xcopy कमांड करता है, एक टीम द्वारा उपयोग किए जाने वाले सामान्य नेटवर्क फ़ोल्डर में। उपयोगकर्ता को केवल आपके व्यक्तिगत फ़ाइल पथ को परिभाषित करने वाले मापदंडों के साथ आपके स्क्रिप्ट नाम का पालन करने की आवश्यकता है।

स्पष्ट रूप से, आप अपनी स्क्रिप्ट को निर्दिष्ट पथ के बिना ठीक से निष्पादित नहीं कर सकते हैं, इसलिए आप यह सुनिश्चित करने के लिए अपनी स्क्रिप्ट की शुरुआत में एक आईएफ बयान डाल सकते हैं कि दोनों पैरामीटर दर्ज किए गए थे।

यहाँ है कि कैसे दिखता है।

@ तो बंद। यदि [% 1] == [] ( गोटो सब_मेज़। ) अन्य ( xcopy% 1 E: \ backupfolder। ) गोटो ईओएफ।: Sub_message। गूंज आप अपना रास्ता बताना भूल गए।: EOF।

यदि आपने पहले बैच स्क्रिप्ट के साथ कभी मापदंडों का उपयोग नहीं किया है, तो संख्या के बाद का प्रतिशत प्रतीक पैरामीटर चर का प्रतिनिधित्व करता है। % 1 पहला पैरामीटर है,% 2 दूसरा है, और इसी तरह।

बैच जॉब्स पावरफुल हो सकते हैं

कई लोग सरल कार्यों के लिए बैच की नौकरियों का उपयोग करना शुरू करते हैं जिन्हें अनुक्रम में निष्पादित करने की आवश्यकता होती है। IF स्टेटमेंट के साथ आपकी स्क्रिप्ट में बहुत अधिक बुद्धिमत्ता जोड़ना संभव है।

यदि आप वास्तव में इसे एक पायदान ऊपर उठाना चाहते हैं, तो आप हमारे गाइड के साथ VBA पर एक नज़र डालने पर विचार कर सकते हैं अपना पहला VBA एप्लिकेशन बनाना, या शायद भी पायथन प्रोग्रामिंग सीखें.

आप अक्सर इन जैसे, या उन्नत प्रोग्रामिंग भाषाओं का उपयोग कर सकते हैं PowerShell का उपयोग करना सीखें 5 कारण आपको बैच स्क्रिप्टिंग के बजाय पावरशेल का उपयोग करना चाहिएPowerShell क्या है यदि आप बैच स्क्रिप्टिंग के साथ कमांड प्रॉम्प्ट को पार कर गए हैं, तो कुछ अतिरिक्त सुविधाओं में फेंक दिया गया है, और सभी को कई पायदानों पर मार दिया है। यहाँ कई कारण हैं जिन्हें आपको आज़माना चाहिए। अधिक पढ़ें , उन्हीं कार्यों में से कई को पूरा करने के लिए, जिनके लिए आप वर्तमान में बैच नौकरियों का उपयोग करते हैं।

रयान के पास इलेक्ट्रिकल इंजीनियरिंग में बीएससी की डिग्री है। उन्होंने ऑटोमेशन इंजीनियरिंग में 13 साल, आईटी में 5 साल काम किया है, और अब एक एप्स इंजीनियर हैं। MakeUseOf के पूर्व प्रबंध संपादक, उन्होंने डेटा विज़ुअलाइज़ेशन पर राष्ट्रीय सम्मेलनों में बात की और राष्ट्रीय टीवी और रेडियो पर चित्रित किया गया है।