के लिए चर एक विशिष्ट आदेश को चलाने के लिए बैच फ़ाइलों के लिए इस्तेमाल किया जब एक पैरामीटर मुलाकात या कहा गया है है।
- उपलब्धता
- वाक्य रचना के लिए
- उदाहरण के लिए
उपलब्धता
के लिए एक आंतरिक कमांड है और निम्नलिखित Microsoft ऑपरेटिंग सिस्टम में उपलब्ध है।
- MS-DOS के सभी संस्करण
- विंडोज 95
- विंडोज 98
- विंडोज मुझे
- Windows NT
- विंडोज 2000
- विंडोज एक्स पी
- विंडोज विस्टा
- विंडोज 7
- विंडोज 8
- विंडोज 10
वाक्य रचना के लिए
- Windows 2000, XP और बाद में सिंटैक्स।
- विंडोज 95, 98, एमई सिंटैक्स।
Windows 2000, XP और बाद में सिंटैक्स
% चर के लिए IN (सेट) डीओ कमांड [कमांड-पैरामीटर्स]
% चर | एक मनमाना पैरामीटर। |
(फ़ाइलसेट) | एक या अधिक फ़ाइलों का एक सेट निर्दिष्ट करता है। वाइल्डकार्ड का उपयोग किया जा सकता है। |
आदेश | प्रत्येक फ़ाइल के लिए आदेश को निर्दिष्ट करता है। |
कमांड मानकों | निर्दिष्ट कमांड के लिए पैरामीटर या स्विच निर्दिष्ट करता है। |
बैच प्रोग्राम में FOR कमांड का उपयोग करने के लिए,% वेरिएबल के बजाय% वेरिएबल निर्दिष्ट करें। चर नाम केस-संवेदी होते हैं, इसलिए% I% I से भिन्न होता है।
यदि कमांड एक्सटेंशन सक्षम हैं, तो फ़ॉर कमांड के अतिरिक्त रूप समर्थित हैं:
के लिए / डी% चर में (सेट) डीओ कमांड [कमांड-पैरामीटर]
यदि सेट में वाइल्डकार्ड होते हैं, तो फ़ाइल नामों के बजाय निर्देशिका नामों के विरुद्ध मिलान करने के लिए निर्दिष्ट करता है।
For / R [[ड्राइव:] पथ]% चर IN (सेट) DO कमांड [कमांड-पैरामीटर]
ट्री के प्रत्येक डायरेक्टरी में स्टेटमेंट को निष्पादित करते हुए [ड्राइव:] पथ पर निहित ट्री ट्री चलता है। यदि / R के बाद कोई निर्देशिका विनिर्देश निर्दिष्ट नहीं किया जाता है, तो वर्तमान निर्देशिका मान ली जाती है। यदि सेट केवल एक एकल अवधि (।) वर्ण है, तो यह निर्देशिका ट्री को फिर से जोड़ देगा।
के लिए / L% चर IN (प्रारंभ, चरण, अंत) DO कमांड [कमांड-पैरामीटर]
सेट स्टेप राशि से शुरू से अंत तक संख्याओं का एक क्रम है। तो (1,1,5) अनुक्रम 1 2 3 4 5 उत्पन्न करेगा और (5, -1,1) अनुक्रम उत्पन्न करेगा (5 4 3 2%)।
For / F ["विकल्प"]% चर IN (फ़ाइल-सेट) DO कमांड [कमांड-पैरामीटर] के लिए / F ["विकल्प"]% चर IN ("स्ट्रिंग") DO कमांड [कमांड-पैरामीटर] For / F ["विकल्प"]% चर IN ('कमांड') DO कमांड [कमांड-पैरामीटर]
या, यदि यूज़बैक विकल्प मौजूद है:
For / F ["विकल्प"]% चर IN (फ़ाइल-सेट) DO कमांड [कमांड-पैरामीटर्स] के लिए / F ["विकल्प"]% वेरिएबल IN ('स्ट्रिंग') DO कमांड [कमांड-पैरामीटर] For / F ["विकल्प"]% चर IN (`कमांड`) डीओ कमांड [कमांड-पैरामीटर]
पैरामीटर फ़ाइलसेट एक या एक से अधिक फ़ाइल नाम हैं जो इनपुट का स्रोत हैं। फ़ाइलनाम में प्रत्येक फ़ाइल को अगले एक पर जाने से पहले खोला, पढ़ा और संसाधित किया जाता है। प्रसंस्करण में फ़ाइल में पढ़ना होता है, इसे पाठ की अलग-अलग लाइनों में तोड़ दिया जाता है, और फिर प्रत्येक पंक्ति को शून्य या अधिक टोकन में पार्स किया जाता है। लूप के लिए बॉडी को तब वेरिएबल वैल्यू (एस) के साथ बुलाया जाता है, जो पाए गए स्ट्रिंग (एस) में सेट होता है। डिफ़ॉल्ट रूप से, / F प्रत्येक फ़ाइल की प्रत्येक पंक्ति से पहले खाली टोकन को अलग करता है। खाली लाइनों को छोड़ दिया जाता है। आप वैकल्पिक "विकल्प" पैरामीटर को निर्दिष्ट करके डिफ़ॉल्ट पार्सिंग व्यवहार को ओवरराइड कर सकते हैं। एक उद्धृत स्ट्रिंग में विभिन्न पार्सिंग विकल्पों को निर्दिष्ट करने के लिए एक या अधिक कीवर्ड होते हैं। कीवर्ड हैं:
EOL = ग | लाइन टिप्पणी एकल के अंत को निर्दिष्ट करता है। |
छोड़ = n | फ़ाइल की शुरुआत में स्किप करने के लिए लाइनों की संख्या निर्दिष्ट करता है। |
delims = xxx | एक सीमांकक सेट निर्दिष्ट करता है, जो स्थान और टैब के डिफ़ॉल्ट सीमांकक सेट को बदलता है। |
टोकन = एक्स, वाई, MN | निर्दिष्ट करता है कि प्रत्येक पंक्ति से टोकन प्रत्येक निकाय के लिए निकाय के लिए पारित किए जाने हैं, जिसके कारण अतिरिक्त चर नाम आवंटित किए जाते हैं। एमएन फॉर्म एक सीमा है, जो एनटी टोकन के माध्यम से एमटी को निर्दिष्ट करता है। यदि टोकन में अंतिम वर्ण = स्ट्रिंग एक तारांकन चिह्न है, तो एक अतिरिक्त चर आवंटित किया जाता है और अंतिम टोकन पार्स होने के बाद शेष पंक्ति पाठ प्राप्त करता है। |
usebackq | निर्दिष्ट करता है कि नए शब्दार्थ बल में हैं, जहां एक वापस उद्धृत स्ट्रिंग को कमांड के रूप में निष्पादित किया जाता है, और एक एकल उद्धृत स्ट्रिंग एक शाब्दिक स्ट्रिंग कमांड है। विकल्प फ़ाइलसेट में फ़ाइल नामों को उद्धृत करने के लिए दोहरे उद्धरण चिह्नों के उपयोग की भी अनुमति देता है। |
कुछ उदाहरण मदद कर सकते हैं:
For / F "eol =; tokens = 2,3 * delims =,"% i in (myfile.txt) do @echo% i% j% k
myfile.txt को पार करता है, अर्धविराम से शुरू होने वाली रेखाओं की अनदेखी करते हुए, शरीर के लिए प्रत्येक पंक्ति से 2 और 3 के टोकन को पास करते हुए, कॉमा और रिक्त स्थान द्वारा सीमांकित टोकन के साथ। 3 डी टोकन प्राप्त करने के लिए बॉडी स्टेटमेंट संदर्भ% i के लिए सूचना% i, 3 जी टोकन प्राप्त करने के लिए% j, और 3 के बाद शेष सभी टोकन प्राप्त करने के लिए% k। उन फ़ाइल नामों के लिए जिनमें रिक्त स्थान हैं, आपको फ़ाइल नामों को दोहरे उद्धरण चिह्नों के साथ उद्धृत करने की आवश्यकता है। इस तरह से दोहरे उद्धरण चिह्नों का उपयोग करने के लिए, आपको उपयोगबैक विकल्प का उपयोग करने की आवश्यकता है। अन्यथा, दोहरे उद्धरणों की व्याख्या पार्सल के लिए शाब्दिक स्ट्रिंग को परिभाषित करने के रूप में की जाती है।
% i को स्पष्ट रूप से कथन के लिए घोषित किया गया है, और% j और% k को स्पष्ट रूप से टोकन = विकल्प के माध्यम से घोषित किया गया है। आप टोकन = लाइन के माध्यम से 26 टोकन तक निर्दिष्ट कर सकते हैं, बशर्ते कि यह 'z' या 'Z' अक्षर से अधिक चर घोषित करने का प्रयास न करे। याद रखें, चर नामों के लिए केस-संवेदी, वैश्विक हैं, और आपके पास किसी भी समय 52 से अधिक कुल सक्रिय नहीं हो सकते हैं।
आप मनमानी स्ट्रिंग पर FOR / F पार्सिंग लॉजिक का भी उपयोग कर सकते हैं। ऐसा करने के लिए, कोष्ठकों में संलग्न एकल-उद्धृत स्ट्रिंग के रूप में फ़ाइलसेट निर्दिष्ट करें। यह फ़ाइल से इनपुट की एक पंक्ति के रूप में पार्स किया जाएगा।
अंत में, आप कमांड के आउटपुट को पार्स करने के लिए FOR / F कमांड का उपयोग कर सकते हैं। आप कोष्ठक के बीच फाइलसेट बनाकर एक वापस उद्धृत स्ट्रिंग देते हैं। यह एक कमांड लाइन के रूप में माना जाता है, जो एक बच्चे को CMD.EXE से गुजरता है और इसके आउटपुट को मेमोरी में कैद किया जाता है और एक फाइल के रूप में पार्स किया जाता है। तो निम्न उदाहरण:
For / F "यूज़बैक डेलिम्स =="% i IN (`सेट`) DO @echo% i
वर्तमान परिवेश में पर्यावरण चर नामों की गणना करेगा।
चर संदर्भों के प्रतिस्थापन को बढ़ाया गया था, और अब आप निम्नलिखित वैकल्पिक वाक्यविन्यास का उपयोग कर सकते हैं:
% ~ मैं | किसी भी आसपास के उद्धरण (") को हटाते हुए% का विस्तार करता हूं। |
% ~ फाई | पूरी तरह से योग्य पथ नाम के लिए% I का विस्तार करता है। |
% ~ डि | % I को केवल एक ड्राइव अक्षर तक विस्तारित करता है। |
% ~ पीआई | % I को केवल एक पथ पर ले जाता है। |
% ~ नी | % I को केवल फ़ाइल नाम में विस्तारित करता है। |
% ~ इलेवन | % I को केवल फ़ाइल एक्सटेंशन में विस्तारित करता है। |
% ~ Si | विस्तारित पथ में केवल छोटे नाम हैं। |
% ~ ऐ | फ़ाइल की विशेषताओं को फ़ाइल करने के लिए% I का विस्तार करता है। |
% ~ TI | फ़ाइल का% I से दिनांक / समय तक का विस्तार। |
% ~ जि | फ़ाइल के आकार में% I का विस्तार होता है। |
% ~ $ पथ: मैं | PATH पर्यावरण चर में सूचीबद्ध निर्देशिकाओं को खोजता है और% I को पहले पाए गए पूरी तरह से योग्य नाम में विस्तारित करता है। यदि पर्यावरण चर नाम परिभाषित नहीं है या फ़ाइल खोज से नहीं मिली है, तो यह संशोधक खाली स्ट्रिंग में फैलता है। |
यौगिक परिणाम प्राप्त करने के लिए संशोधक को जोड़ा जा सकता है:
% ~ डीपीआई | % I को एक ड्राइव लेटर और पथ पर ले जाता है। |
% ~ NxI | % I को केवल फ़ाइल नाम और एक्सटेंशन तक विस्तारित करता है। |
% ~ FSI | केवल संक्षिप्त नाम के साथ% I को पूर्ण पथ नाम में विस्तारित करता है। |
% ~ डी पी $ पथ: मैं | PATH पर्यावरण चर में सूचीबद्ध निर्देशिकाओं को I% के लिए खोजता है और पहले अक्षर के ड्राइव अक्षर और पथ तक फैलता है। |
% ~ FtzaI | % I को आउटपुट लाइन की तरह एक DIR में विस्तारित करता है। |
उपरोक्त उदाहरणों में,% I और PATH को अन्य मान्य मानों से बदला जा सकता है। % ~ सिंटैक्स को वैरिएबल नाम के लिए मान्य द्वारा समाप्त किया जाता है। % I की तरह अपरकेस चर नाम लेने से यह अधिक पठनीय हो जाता है और संशोधक के साथ भ्रम से बच जाता है, जो मामले के प्रति संवेदनशील नहीं हैं।
विंडोज 95, 98, एमई सिंटैक्स
% चर के लिए IN (सेट) डीओ कमांड [कमांड-पैरामीटर्स]
% चर | एक बदली पैरामीटर निर्दिष्ट करता है। |
(सेट) | एक या अधिक फ़ाइलों का एक सेट निर्दिष्ट करता है। वाइल्डकार्ड का उपयोग किया जा सकता है। |
आदेश | प्रत्येक फ़ाइल के लिए आदेश को निर्दिष्ट करता है। |
कमांड मानकों | निर्दिष्ट कमांड के लिए पैरामीटर या स्विच निर्दिष्ट करता है। |
बैच प्रोग्राम में FOR कमांड का उपयोग करने के लिए,% वेरिएबल के बजाय% वेरिएबल निर्दिष्ट करें।