Batch Scripting Tutorials

बैच स्क्रिप्टिंग में खाली वेरिएबल जांच में महारथ

Spread the love

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

विषयवस्तु की तालिका

विधि 1: स्ट्रिंग तुलना के साथ IF कथन का उपयोग करना

यह सबसे सरल और व्यापक रूप से अनुशंसित तरीका है। IF कथन, == ऑपरेटर के साथ मिलकर, एक खाली स्ट्रिंग के विरुद्ध प्रत्यक्ष तुलना की अनुमति देता है। महत्वपूर्ण रूप से, संभावित रिक्त स्थान या विशेष वर्णों को संभालने के लिए हमेशा चर को दोहरे उद्धरणों में संलग्न करें।

@echo off
set "myVar="

if "%myVar%" == "" (
  echo चर myVar खाली है।
) else (
  echo चर myVar खाली नहीं है। इसका मान है: %myVar%
)

set "myVar=Hello World"

if "%myVar%" == "" (
  echo चर myVar खाली है।
) else (
  echo चर myVar खाली नहीं है। इसका मान है: %myVar%
)
pause

विधि 2: defined कीवर्ड का उपयोग करना

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

@echo off
set "myVar="

if not defined myVar (
  echo चर myVar खाली या अपरिभाषित है।
) else (
  echo चर myVar परिभाषित है। इसका मान है: %myVar%
)

set "myVar=Hello"

if not defined myVar (
  echo चर myVar खाली या अपरिभाषित है।
) else (
  echo चर myVar परिभाषित है। इसका मान है: %myVar%
)
pause

विधि 3: SETLOCAL और ENDLOCAL का उपयोग करके स्कोप्ड चेक के लिए

अपनी स्क्रिप्ट के विशिष्ट अनुभागों के भीतर चरों के प्रबंधन के लिए, SETLOCAL और ENDLOCAL अमूल्य हैं। SETLOCAL एक स्थानीय वातावरण बनाता है; इस ब्लॉक के भीतर परिभाषित कोई भी चर ENDLOCAL पहुँचने पर त्याग दिया जाता है। यह चर के दायरे को अलग करता है, अनपेक्षित दुष्प्रभावों को रोकता है।

@echo off
set "myVar=Some Value"

:CheckVar
SETLOCAL
if "%myVar%"=="" (
  echo चर इस दायरे में खाली है।
) else (
  echo चर इस दायरे में खाली नहीं है।
)
ENDLOCAL

echo यह पंक्ति हमेशा निष्पादित होगी।
pause

निष्कर्ष: सही दृष्टिकोण चुनना

प्रत्येक विधि प्रभावी रूप से खाली चर की जांच करती है। स्ट्रिंग तुलना के साथ IF कथन को आम तौर पर इसकी पठनीयता और स्पष्ट प्रकृति के लिए अनुशंसित किया जाता है। defined कीवर्ड एक संक्षिप्त विकल्प प्रदान करता है, जबकि SETLOCAL/ENDLOCAL चर स्कोप के प्रबंधन में उत्कृष्टता प्राप्त करता है। अपनी स्क्रिप्ट के संदर्भ और अपनी कोडिंग शैली के लिए सबसे उपयुक्त विधि का चयन करें।

अक्सर पूछे जाने वाले प्रश्न

प्रश्न: मैं रिक्त स्थान वाले चर को कैसे संभालूँ?

उत्तर: अपने IF कथनों के भीतर हमेशा चरों को दोहरे उद्धरणों (“%myVar%“) में संलग्न करें। यह रिक्त स्थान और विशेष वर्णों के सही संचालन को सुनिश्चित करता है।

प्रश्न: क्या मैं शून्य मानों की जांच कर सकता हूँ?

उत्तर: बैच स्क्रिप्टिंग में, अपरिभाषित और खाली चर समान रूप से व्यवहार किए जाते हैं। ये विधियाँ दोनों का विश्वसनीय रूप से पता लगाती हैं।

प्रश्न: सबसे कुशल विधि क्या है?

उत्तर: अधिकांश मामलों में प्रदर्शन अंतर नगण्य हैं। कोड स्पष्टता और रखरखाव को प्राथमिकता दें।

प्रातिक्रिया दे

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *