5 IF स्टेटमेंट स्मार्ट विंडोज बैच स्क्रिप्ट के लिए उपयोग करने के लिए

5 IF स्टेटमेंट स्मार्ट विंडोज बैच स्क्रिप्ट के लिए उपयोग करने के लिए

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





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





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





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

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

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



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

@echo off
set DriveLimit=300000000
for /f 'usebackq delims== tokens=2' %%x in (`wmic logicaldisk where 'DeviceID='C:'' get FreeSpace /format:value`) do set FreeSpace=%%x
Echo FreeSpace='%FreeSpace%'
Echo Limit='%DriveLimit%'
If %FreeSpace% GTR %DriveLimit% (
Echo There is enough free space.
) else (
Echo Not enough free space.
)

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





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

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





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

एक और मूल्यवान IF तुलना जो आप बैच जॉब में कर सकते हैं वह है तार की तुलना .

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

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

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

@echo off
for /f 'tokens=4-5 delims=. ' %%i in ('ver') do set VERSION=%%i.%%j
if '%version%' == '6.0' echo Windows Vista.
if '%version%' == '6.1' echo Windows 7
if '%version%' == '6.2' echo Windows 8
if '%version%' == '6.3' echo Windows 8.1
if '%version%' == '10.0' echo Windows 10.

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

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

3. जांचें कि क्या कोई फ़ाइल मौजूद है

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

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

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

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

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

@echo off
if exist c: empdatafile.txt (
%WINDIR%SysWOW64cmd.exe
cscript LoadToExcel.vbs
) else (
rem file doesn't exist
)

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

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

4. जांचें कि क्या कोई आदेश विफल हुआ है

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

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

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

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

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

@echo off
xcopy C:
omefolder E:ackupfolder
IF %ERRORLEVEL% NEQ 0

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

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

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

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

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

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

यहां बताया गया है कि यह कैसा दिखता है।

@echo off
IF [%1]==[] (
GOTO sub_message
) ELSE (
xcopy %1 E:ackupfolder
)
GOTO eof
:sub_message
echo You forgot to specify your path.
:eof

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

बैच नौकरियां शक्तिशाली हो सकती हैं

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

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

आप अक्सर इन जैसी अधिक उन्नत प्रोग्रामिंग भाषाओं का उपयोग कर सकते हैं, या पावरशेल का उपयोग करना सीख सकते हैं, ऐसे ही कई कार्यों को पूरा करने के लिए जिन्हें आप वर्तमान में बैच नौकरियों के लिए उपयोग करते हैं।

साझा करना साझा करना कलरव ईमेल डिस्क स्थान खाली करने के लिए इन विंडोज़ फ़ाइलों और फ़ोल्डरों को हटाएं

अपने Windows कंप्यूटर पर डिस्क स्थान साफ़ करने की आवश्यकता है? यहाँ विंडोज़ फ़ाइलें और फ़ोल्डर्स हैं जिन्हें डिस्क स्थान खाली करने के लिए सुरक्षित रूप से हटाया जा सकता है।

आगे पढ़िए
संबंधित विषय
  • खिड़कियाँ
  • प्रोग्रामिंग
  • खिड़कियाँ
लेखक के बारे में रयान दुबे(९४२ लेख प्रकाशित)

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

क्या आप फेसबुक के बिना टिंडर का उपयोग कर सकते हैं?
रयान दुबे की अन्य फ़िल्में-टीवी शो

हमारे न्यूज़लेटर की सदस्यता लें

तकनीकी युक्तियों, समीक्षाओं, निःशुल्क ई-पुस्तकों और अनन्य सौदों के लिए हमारे न्यूज़लेटर से जुड़ें!

सब्सक्राइब करने के लिए यहां क्लिक करें