batch-file - एक बैच / cmd में "टिप्पणी-बाहर"(टिप्पणी जोड़ें)कैसे करें?




comments commenting comment-conventions (6)

rem कमांड वास्तव में टिप्पणियों के लिए है। यह स्क्रिप्ट चलाने के बाद किसी को मूल रूप से अद्यतन नहीं करता है। कुछ स्क्रिप्ट लेखक इसका उपयोग echo बजाय इस तरह से कर सकते हैं, हालांकि, डिफ़ॉल्ट रूप से बैच दुभाषिया संसाधित होने से पहले प्रत्येक कमांड को प्रिंट करेगा। चूंकि rem कमांड कुछ भी नहीं करते हैं, इसलिए बिना साइड इफेक्ट्स प्रिंट करना सुरक्षित है। एक कमांड प्रिंट करने से बचने के लिए, इसे प्रोग्राम के दौरान उस सेटिंग को लागू करने के लिए @ , या, के साथ उपसर्ग करें, @echo off चलाएं। (यह आगे के आदेशों को प्रिंट करने से बचने के लिए echo off ; @ गूंज सेटिंग प्रभाव से पहले उस कमांड को प्रिंट करने से बचने के लिए है।)

तो, अपनी बैच फ़ाइल में, आप इसका उपयोग कर सकते हैं:

@echo off
REM To skip the following Python commands, put "REM" before them:
python foo.py
python bar.py

इस प्रश्न का उत्तर यहां दिया गया है:

मेरे पास एक बैच फ़ाइल है जो कई पाइथन स्क्रिप्ट चलाती है जो तालिका संशोधन करता है।

  1. मैं उपयोगकर्ताओं को बैच फ़ाइल से उन्हें हटाने के बजाय, 1-2 पायथन स्क्रिप्ट्स को चलाने की इच्छा नहीं करना चाहता हूं (इसलिए अगला उपयोगकर्ता जानता है कि ये स्क्रिप्ट विकल्प के रूप में मौजूद हैं!)

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

क्या कोई उचित टिप्पणी जोड़ने के लिए कोई वाक्यविन्यास है?


नहीं, सादे पुरानी बैच फ़ाइलें REM उपयोग टिप्पणी के रूप में करती हैं। ECHO वह आदेश है जो स्क्रीन पर कुछ प्रिंट करता है।

फ़ाइल के अनुभागों को "टिप्पणी करने" के लिए आप GOTO उपयोग कर सकते हैं। इन सभी आदेशों / तकनीकों का एक उदाहरण:

REM it starts here the section below can be safely erased once the file is customised
ECHO Hey you need to edit this file before running it!  Check the instructions inside
ECHO Now press ctrl-c to interrupt execution or enter to continue
PAUSE
REM erase the section above once you have customised the file
python executed1.py
ECHO Skipping some stuff now
GOTO End
python skipped1.py
python skipped2.py
:END
python executed2.py

मैं क्या कह सकता हूँ? बैच फाइलें लंबे समय से दूर रहती हैं, वे घबराहट और बदसूरत हैं।

आप इस वेबसाइट पर और अधिक पढ़ सकते हैं।

संपादित करें: उदाहरण को थोड़ा सा संशोधित करने के लिए इसमें तत्व शामिल हैं जिन्हें आप स्पष्ट रूप से ढूंढ रहे हैं।


:: आरईएम के बजाय उन दिनों में अधिमानतः उपयोग किया जाता था जब कंप्यूटर बहुत तेज नहीं थे। REM'ed लाइन पढ़ी जाती है और फिर ingnored। :: 'एड लाइन को सभी तरह से नजरअंदाज कर दिया जाता है। यह आपके पुराने कोड को "पुराने दिनों" में बढ़ा सकता है। आरईएम के बाद और भी आपको एक जगह चाहिए, उसके बाद :: आप नहीं करते हैं।

और जैसा कि पहली टिप्पणी में कहा गया है: आप किसी भी पंक्ति में जानकारी जोड़ सकते हैं जिसकी आपको आवश्यकता है

SET DATETIME=%DTS:~0,8%-%DTS:~8,6% ::Makes YYYYMMDD-HHMMSS

भागों की छोड़ने के लिए के रूप में। प्रत्येक पंक्ति के सामने आरईएम लगाकर समय लेने वाला हो सकता है। जैसा कि भागों को छोड़ने के लिए GOTO का उपयोग करके उल्लेख किया गया है कोड के बड़े टुकड़े छोड़ने का एक आसान तरीका है। एक सेट सेट करना सुनिश्चित करें: उस बिंदु पर LABEL जिसे आप कोड जारी रखना चाहते हैं।

SOME CODE

GOTO LABEL  ::REM OUT THIS LINE TO EXECUTE THE CODE BETWEEN THIS GOTO AND :LABEL

SOME CODE TO SKIP
.
LAST LINE OF CODE TO SKIP

:LABEL
CODE TO EXECUTE

आदेशों के साथ एक ही पंक्ति पर टिप्पणियां डालना: उपयोग करें & :: comment

color C          & :: set red font color
echo IMPORTANT INFORMATION
color            & :: reset the color to default

स्पष्टीकरण:

& दो आदेशों को अलग करता है , इसलिए इस मामले में color C पहला आदेश है और :: set red font color दूसरा है।

जरूरी:

टिप्पणी के साथ यह कथन सहजता से सही दिखता है:

goto error1         :: handling the error

लेकिन यह टिप्पणी का वैध उपयोग नहीं है । यह केवल इसलिए काम करता है क्योंकि goto पहले के सभी तर्कों को अनदेखा करता है। सबूत आसान है, यह goto विफल नहीं होगा:

goto error1 handling the error

लेकिन इसी तरह के प्रयास

color 17            :: grey on blue

color कमांड के लिए अज्ञात 4 तर्कों के कारण कमांड निष्पादित करने में विफल रहता है: :: , grey , on , blue

यह केवल इस प्रकार काम करेगा:

color 17     &      :: grey on blue

तो एम्परसेंड अपरिहार्य है।


बहु लाइन टिप्पणियां

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

बैच भाषा में टिप्पणी ब्लॉक नहीं होते हैं, हालांकि प्रभाव को पूरा करने के तरीके हैं।

GOTO EndComment1
This line is comment.
And so is this line.
And this one...
:EndComment1

आप GOTO लेबल का उपयोग कर सकते हैं और: ब्लॉक टिप्पणियां बनाने के लिए लेबल।

या, यदि बैच फ़ाइल के अंत में टिप्पणी ब्लॉक दिखाई देता है, तो आप कोड के अंत में EXIT लिख सकते हैं और फिर आपकी समझ के लिए टिप्पणियों की कोई भी संख्या।

@ECHO OFF
REM Do something
  •
  •
REM End of code; use GOTO:EOF instead of EXIT for Windows NT and later
EXIT

Start of comment block at end of batch file
This line is comment.
And so is this line.
And this one...

robvanderwoude.com/comments.php


एकमात्र लोग जो जवाब दे सकते हैं कि यूनिकोड क्यों बच निकला, वे लोग थे जिन्होंने विनिर्देश लिखा था।

इसके लिए एक व्यावहारिक कारण यह है कि पूरे बीएमपी को जावा स्रोत कोड के संभावित पात्रों के रूप में अनुमति देने की इच्छा थी। यह हालांकि एक समस्या प्रस्तुत करता है:

  • आप किसी भी बीएमपी चरित्र का उपयोग करने में सक्षम होना चाहते हैं।
  • आप किसी भी बीएमपी चार्टर को उचित रूप से आसान इनपुट करने में सक्षम होना चाहते हैं। ऐसा करने का एक तरीका यूनिकोड से बच निकला है।
  • आप मनुष्यों के पढ़ने और लिखने के लिए लेक्सिकल विनिर्देश को आसान रखना चाहते हैं, और साथ ही साथ लागू करने में काफी आसान है।

यह अविश्वसनीय रूप से मुश्किल है जब यूनिकोड मैदान में प्रवेश से बच निकलता है: यह नए लेक्सर नियमों का पूरा भार बनाता है।

आसान कदम यह है कि दो चरणों में लेक्सिंग करना है: पहले यूनिकोड से निकलने वाले सभी यूनिकोड से बचें और प्रतिस्थापित करें, और उसके परिणामस्वरूप दस्तावेज़ को पार्स करें जैसे यूनिकोड से बच निकलता है।

इसका उल्टा यह है कि यह निर्दिष्ट करना आसान है, इसलिए यह विनिर्देश को सरल बनाता है, और इसे कार्यान्वित करना आसान है।

नकारात्मक, आपका उदाहरण है, ठीक है।





batch-file cmd comments commenting comment-conventions