एक बैच स्क्रिप्ट की शुरुआत में, मैं कमांड देखा"@echo off" और "@echo% off" के बीच अंतर? मेरे आश्चर्य करने के लिए</p> <pre><code>@echo %off </code></pre> <p>इसके बारे में एक ही प्रभाव पड़ता है:
@echo off
क्या '%' उपसर्ग के प्रभाव है?
एक बैच स्क्रिप्ट की शुरुआत में, मैं कमांड देखा"@echo off" और "@echo% off" के बीच अंतर? मेरे आश्चर्य करने के लिए</p> <pre><code>@echo %off </code></pre> <p>इसके बारे में एक ही प्रभाव पड़ता है:
@echo off
क्या '%' उपसर्ग के प्रभाव है?
मैंने इसे पहले कभी नहीं देखा है। यह cmd कंसोल में काम नहीं करता है - केवल एक .bat स्क्रिप्ट में। लेकिन मुझे लगता है।
यदि आप @echo off
पर एक cmd कंसोल विंडो में हैं, तो परिणामस्वरूप कमांड प्रॉम्प्ट होने का संकेत देता है, जैसा कि यह एक .bat स्क्रिप्ट में करता है। संकेतों को फिर से प्रकट करने के लिए, आपको echo on
करना होगा। अंतर यह है कि .bat स्क्रिप्ट में, एक शाब्दिक %
स्ट्रिंग वर्ण का प्रतिनिधित्व करने के लिए प्रतिशत संकेतों को दोगुनी करने की आवश्यकता है, जबकि cmd कंसोल में वे नहीं करते हैं। परिणाम यह है कि @echo %off
एक cmd कंसोल में स्ट्रिंग %off
स्ट्रिंग में प्रतिबिंबित होने के परिणामस्वरूप होता है।
इस बात को ध्यान में रखते हुए, मैं इस हैक का इरादा रखता हूं कि इस हैक का उद्देश्य उन उपयोगकर्ताओं द्वारा सामना की जाने वाली समस्याओं से बचने के लिए है जो स्क्रिप्ट को एक cmd कंसोल विंडो में कॉपी करते हैं, बजाय .bat स्क्रिप्ट में इच्छित है। %
के साथ, कंसोल में कमांड को कम किया गया है, लेकिन जब भी .bat स्क्रिप्ट से चलाया जाता है तब भी इसका इच्छित प्रभाव प्राप्त होता है। %
के बिना, सभी निर्देशों के पूरा होने के बाद कंसोल लटका होगा।
यह प्रतिभा है। बस आपको एक टिप्पणी छोड़ने के लिए एक टिप्पणी छोड़ना चाहता था। –
कभी नहीं देखा। और वास्तव में, '%' पार्सर द्वारा छीन लिया जाता है, इसलिए इसका कोई प्रभाव नहीं पड़ता है (कम से कम शुद्ध बैच में - लेकिन कुछ बैच-जो भी हाइब्रिड स्क्रिप्ट हैं, जहां यह * अंतर कर सकता है)। क्या आप हमें एक स्रोत दे सकते हैं? (आपने उसे कहाँ देखा?) – Stephan
मैंने इसे पहले कभी नहीं देखा है। यह cmd कंसोल में काम नहीं करता है - केवल एक .bat स्क्रिप्ट में। मुझे लगता है कि ऐसा इसलिए है कि अगर कोई स्क्रिप्ट को .bat फ़ाइल की बजाय कंसोल विंडो में कॉपी करता है, तो पेस्ट का परिणाम छुपाए जाने का संकेत नहीं देगा? – rojo
बैच फ़ाइल में, एकल '%' चिह्न सिमले हटा दिया जाता है, इसलिए प्रभाव वही होता है जैसा कि वहां नहीं था ... – aschipfl