बैच फ़ाइल में टिप्पणी करने के कई तरीके हैं
1) रेम का उपयोग करना
यह आधिकारिक तरीका है। जाहिरा तौर पर इसे निष्पादित करने में अधिक समय लगता है ::
, हालांकि यह स्पष्ट रूप से पार्सिंग को रोक देता है, इससे पहले कि देखभाल की प्रक्रिया हो। प्रतिशत विस्तार रेम से पहले होता है और ::
पहचाना जाता है, इसलिए गलत प्रतिशत उपयोग यानि %~
त्रुटियों का कारण होगा यदि प्रतिशत मौजूद हैं। कोड ब्लॉक में कहीं भी उपयोग करने के लिए सुरक्षित है।
2) लेबल :
, ::
या :;
आदि का उपयोग करना ।
के लिए :: comment
, ': टिप्पणी' एक अमान्य लेबल नाम है क्योंकि यह एक अमान्य चरित्र से शुरू होता है । हालांकि एक लेबल के बीच में एक बृहदान्त्र का उपयोग करना ठीक है। यदि कोई स्थान लेबल के प्रारंभ में शुरू होता है, तो उसे हटा दिया : label
जाता है :label
। यदि लेबल के बीच में कोई स्थान या कोई कॉलन दिखाई देता है, तो शेष नाम का अर्थ यह नहीं है कि यदि दो लेबल हैं :f:oo
और :f rr
, दोनों की व्याख्या की जाएगी :f
और फ़ाइल में केवल बाद में परिभाषित लेबल के लिए कूद जाएगा। बाकी लेबल प्रभावी रूप से एक टिप्पणी है। यहां ::
सूचीबद्ध कई विकल्प हैं । आप कभी भी goto
या call
एक ::foo
लेबल नहीं कर सकते । goto :foo
और goto ::foo
काम नहीं करेगा।
वे कोड ब्लॉक के बाहर ठीक काम करते हैं लेकिन कोड ब्लॉक में लेबल के बाद, अमान्य या नहीं, एक मान्य कमांड लाइन होनी चाहिए। :: comment
वास्तव में एक और वैध कमांड है। यह एक कमांड के रूप में व्याख्या करता है, न कि लेबल के रूप में; आदेश में पूर्वता है। ::
वॉल्यूम पर सीडी लगाने के लिए कौन सी कमांड है , जो आपके द्वारा निष्पादित किए जाने पर काम करेगी subst :: C:\
, अन्यथा आपको वॉल्यूम त्रुटि नहीं मिल सकती है। इसीलिए :;
यकीनन बेहतर है क्योंकि इसे इस तरह से व्याख्यायित नहीं किया जा सकता है, और इसलिए इसकी जगह एक लेबल के रूप में व्याख्या की जाती है, जो मान्य कमांड के रूप में कार्य करता है। यह पुनरावर्ती नहीं है, अर्थात, अगले लेबल को इसके बाद कमांड की आवश्यकता नहीं है। इसलिए वे दोहों में आते हैं।
आपको लेबल जैसे उदाहरण के बाद एक मान्य कमांड प्रदान करने की आवश्यकता है echo something
। कोड ब्लॉक में एक लेबल को कम से कम एक वैध कमांड के साथ आना होता है, इसलिए लाइनें दो के जोड़े में आती हैं। )
अगली पंक्ति में एक स्थान या समापन कोष्ठक होने पर आपको एक अप्रत्याशित त्रुटि मिलेगी । यदि दो ::
पंक्तियों के बीच एक स्थान है तो आपको एक अवैध वाक्यविन्यास त्रुटि मिलेगी।
आप इस ::
तरह से टिप्पणी में कैरट ऑपरेटर का उपयोग कर सकते हैं :
@echo off
echo hello
(
:;(^
this^
is^
a^
comment^
)
:;
)
:;^
this^
is^
a^
comment
:;
)
लेकिन आपको :;
ऊपर बताए गए कारण के लिए अनुगामी की आवश्यकता है।
@echo off
(
echo hello
:;
:; comment
:; comment
:;
)
echo hello
यह तब तक ठीक है जब तक एक समान संख्या है। यह निस्संदेह टिप्पणी करने का सबसे अच्छा तरीका है - 4 लाइनों के साथ और :;
। आपके साथ ऐसी :;
कोई भी त्रुटि नहीं है जिसका उपयोग करके 2> nul
या दबाए जाने की आवश्यकता है subst :: C:\
। आप subst :: C:\
वॉल्यूम का उपयोग नहीं कर पाए त्रुटि को दूर जाने के लिए, लेकिन इसका मतलब है कि आपको अपनी कार्यशील निर्देशिका को बनने से रोकने के लिए C: कोड में भी रखना होगा ::\
।
एक पंक्ति के अंत में टिप्पणी करने के लिए जिसे आप कर सकते हैं command &::
या कर सकते हैं
command & rem comment
, लेकिन फिर भी एक सम संख्या होनी चाहिए, जैसे:
@echo off
(
echo hello & :;yes
echo hello & :;yes
:;
)
echo hello
पहले echo hello & :;yes
की अगली पंक्ति पर एक वैध कमांड है लेकिन दूसरा & :;yes
नहीं है, इसलिए इसे एक यानी की आवश्यकता है :;
।
3) एक अमान्य पर्यावरण चर का उपयोग करना
%= comment =%
। एक बैच फ़ाइल में, पर्यावरण चर जो परिभाषित नहीं होते हैं उन्हें स्क्रिप्ट से हटा दिया जाता है। यह उन्हें बिना उपयोग के एक पंक्ति के अंत में उपयोग करना संभव बनाता है &
। यह एक अमान्य पर्यावरण चर का उपयोग करने के लिए कस्टम है अर्थात एक जिसमें एक समान चिह्न होता है। अतिरिक्त समान की आवश्यकता नहीं है, लेकिन यह सममित दिखता है। इसके अलावा, "=" से शुरू होने वाले चर नाम अनिर्धारित गतिशील चर के लिए आरक्षित हैं। वे गतिशील चर "=" के साथ कभी समाप्त नहीं होते हैं, इसलिए टिप्पणी के शुरू और अंत दोनों में "=" का उपयोग करके, नाम संघर्ष की कोई संभावना नहीं है। टिप्पणी में %
या नहीं हो सकता है :
।
@echo off
echo This is an example of an %= Inline Comment =% in the middle of a line.
4) एक आदेश के रूप में, nul को stderr को पुनर्निर्देशित करना
@echo off
(
echo hello
;this is a comment 2> nul
;this is another comment 2> nul
)
5) एक फ़ाइल के अंत में, एक अप्रकाशित कोष्ठक के बाद सब कुछ एक टिप्पणी है
@echo off
(
echo hello
)
(this is a comment
this is a comment
this is a comment