लूप्स के लिए मास्टर पावरशेल:आसानी से बार-बार कमांड निष्पादित करें
<पी> फ़ॉर लूप किसी भी प्रोग्रामिंग भाषा में सबसे मूल्यवान टूल में से एक है, और Microsoft PowerShell भी इससे अलग नहीं है। आप कमांड को दोहराने के लिए अन्य लूप का उपयोग कर सकते हैं, लेकिन फॉर लूप शायद सबसे सीधा है। <पी> सरणियों पर पुनरावृत्ति करने से लेकर किसी फ़ंक्शन को पूर्व निर्धारित संख्या में पूरा करने तक, ऐसी कई चीजें हैं जिन्हें आप इस टूल से हासिल कर सकते हैं। यहां PowerShell में For लूप्स का उपयोग करने के तरीके पर एक ट्यूटोरियल दिया गया है।
पॉवरशेल में फॉर लूप्स का क्या उपयोग है?
<पी> कमांड प्रॉम्प्ट के विपरीत, पॉवरशेल एक पूर्ण स्क्रिप्टिंग वातावरण है। इसका मतलब है कि आप मैन्युअल रूप से कमांड दर्ज करने के बजाय कार्यों को स्वचालित रूप से पूरा करने के लिए पुन:प्रयोज्य पावरशेल स्क्रिप्ट लिख सकते हैं। और फॉर लूप्स इन मॉड्यूल को लिखने की कुंजी हैं। <पी> फॉर स्टेटमेंट एक स्क्रिप्ट ब्लॉक को विशिष्ट संख्या में बार दोहराता है, प्रगति पर नज़र रखने के लिए दिए गए वेरिएबल को संशोधित करता है। यह आपको कुछ दिलचस्प परिदृश्यों के लिए लूप का उपयोग करने की अनुमति देता है। <पी> आप संख्याओं का क्रम उत्पन्न कर सकते हैं, एक अभाज्य संख्या निर्धारित कर सकते हैं, या उलटी गिनती घड़ी प्रदर्शित कर सकते हैं। अधिक व्यावहारिक रूप से, आप वस्तुओं की एक श्रृंखला पर पुनरावृत्ति कर सकते हैं, प्रत्येक प्रविष्टि के साथ कुछ क्रिया कर सकते हैं। पॉवरशेल में फॉर लूप का सिंटैक्स
<पी> फ़ॉर लूप्स Windows PowerShell में उसी तरह काम करते हैं जैसे वे किसी प्रोग्रामिंग भाषा में करते हैं। ट्रैकिंग वेरिएबल को आरंभ करने, उसके मूल्य का परीक्षण करने और वेरिएबल को संशोधित करने वाले भाव अर्धविराम द्वारा अलग किए गए "फॉर" के बाद कोष्ठक में निहित हैं। इसके बाद घुंघराले ब्रेसिज़ से बंधी स्टेटमेंट सूची आती है। <पी> (आरंभीकरण के लिए; शर्त; अद्यतन ) <पी> {पी> <पी> स्क्रिप्ट ब्लॉक पी> <पी> } पॉवरशेल स्क्रिप्ट में फॉर लूप का उपयोग कैसे करें
<पी> फ़ॉर लूप का उपयोग करना बहुत सरल है। जब भी आपको ऐसी स्थिति का सामना करना पड़े जिसमें थोड़ा अलग कदम दोहराने की आवश्यकता हो, तो आपको इसे फॉर लूप में डाल देना चाहिए।
<पी> मान लीजिए कि आपको एक कोड स्निपेट लिखना है जो एक संख्या n तक सभी प्राकृतिक संख्याओं का योग ज्ञात कर सके। , वेरिएबल $n में निहित है। यहां लूप के लिए एक बुनियादी उदाहरण दिया गया है: <पी> $n =10 <पी> $योग =0 <पी> ($i =1; $i -le $n; $i++) के लिए <पी> {पी> <पी> $योग =$योग + $i <पी> } <पी> “$n प्राकृतिक संख्याओं का योग $योग है”
फॉर लूप के माध्यम से ऐरे तक पहुंच
<पी> संख्यात्मक अनुक्रम उत्पन्न करना शायद ही अधिकांश लोगों के लिए PowerShell का उपयोग होता है। एक अधिक सामान्य उपयोग किसी सरणी पर पुनरावृति करना है। <पी> मान लें कि आपके पास सात तत्वों वाली $week सरणी है। आप सरल फॉर लूप का उपयोग करके सरणी में शामिल दिनों की सूची को आउटपुट कर सकते हैं, जैसा कि निम्नलिखित उदाहरण में दिखाया गया है। <पी> ($i =0; $i -lt $week.Length; $i++) के लिए <पी> {पी> <पी> $सप्ताह[$i] <पी> }
एक सरणी के माध्यम से त्वरित रूप से पुनरावृत्त करने के लिए ForEach लूप का उपयोग करना
<पी> फॉर लूप का दूसरा रूप फॉरएच स्टेटमेंट है। यह संस्करण PowerShell सरणी की सामग्री को देखना और उन्हें व्यक्तिगत रूप से संसाधित करना सरल बनाता है। उदाहरण के लिए, पिछला कोड स्निपेट इस प्रकार पुनः लिखा जा सकता है: <पी> Foreach ($सप्ताह में एक दिन) <पी> {पी> <पी> $दिन <पी> }
<पी> अधिक जटिल वस्तुओं से निपटते समय, आप किसी भी पावरशेल कमांड की सामग्री पर कार्रवाई करने के लिए फ़ोरैच-ऑब्जेक्ट सीएमडीलेट का भी उपयोग कर सकते हैं। फॉर लूप अन्य प्रकार के लूप से किस प्रकार भिन्न है?
<पी> फ़ॉर लूप आपके लिए उपलब्ध एकमात्र प्रकार का लूपिंग स्टेटमेंट नहीं है। अधिकांश प्रोग्रामिंग भाषाओं की तरह, PowerShell में कई प्रकार के लूप होते हैं। जबकि
<पी> इनमें से सबसे सरल है While लूप। आपके पास बस एक शर्त और एक स्क्रिप्ट ब्लॉक है, और लूप तब तक चलता है जब तक परीक्षण अभिव्यक्ति सत्य का मूल्यांकन करती है। चूंकि अभिव्यक्ति का मूल्यांकन पहले किया जाता है, इसलिए कोड के बिल्कुल न चलने या अनंत लूप के रूप में समाप्त होने की संभावना होती है। पी> <पी> जबकि (स्थिति ) <पी> {पी> <पी> स्क्रिप्ट ब्लॉक पी> <पी> }
करें-जबकि
<पी> यदि आप एक स्क्रिप्ट लिख रहे हैं जिसे कम से कम एक बार चलाने की आवश्यकता है - भले ही अभिव्यक्ति का मूल्यांकन गलत हो - तो आप डू-व्हाइल लूप का उपयोग कर सकते हैं। जबकि लूप से एकमात्र अंतर यह है कि यह कमांड ब्लॉक को शर्त से पहले रखता है, जिसका अर्थ है कि परीक्षण अभिव्यक्ति को पहली बार जांचने से पहले कोड निष्पादित किया जाता है। <पी> करें { <पी> स्क्रिप्ट ब्लॉक पी> <पी> } <पी> जबकि (स्थिति )
करें-जब तक
<पी> इस लूप का दूसरा संस्करण डू-अनटिल है। मूल रूप से, यह कोड ब्लॉक चलाता है और तब तक इसे दोहराता है जब तक कि परीक्षण अभिव्यक्ति सत्य न हो जाए - डू-व्हाइल लूप के विपरीत। विशेष रूप से उपयोगी संरचना नहीं है, क्योंकि आप मानक डू-व्हाइल लूप में स्थिति को संशोधित करके वही चीज़ प्राप्त कर सकते हैं। <पी> करें { <पी> स्क्रिप्ट ब्लॉक पी> <पी> } <पी> जब तक (स्थिति )
फॉर लूप बेहतर क्यों है
<पी> इन सभी अन्य लूपिंग संरचनाओं के साथ समस्या यह है कि उनमें प्रारंभिक मूल्य या अद्यतन विवरण शामिल नहीं हैं। आपको मैन्युअल रूप से लूप के बाहर एक वेरिएबल बनाना याद रखना होगा और फिर लूप के प्रत्येक पास के दौरान इसे बढ़ाना (या घटाना) होगा। <पी> जैसा कि आप उम्मीद कर सकते हैं, प्रोग्रामर अक्सर इस चरण को भूल जाते हैं, जिसके परिणामस्वरूप एक ऐसी स्क्रिप्ट बनती है जो अपेक्षा के अनुरूप काम नहीं करती है। इससे डिबगिंग में कीमती समय बर्बाद होता है। <पी> फ़ॉर लूप आरंभिक कोष्ठक के भीतर आरंभीकरण और वृद्धि अभिव्यक्तियों को आवश्यक बनाकर इस समस्या से बचता है। इससे स्वच्छ, अधिक मजबूत स्क्रिप्ट प्राप्त होती है। आपको पॉवरशेल में फॉर लूप का उपयोग कब करना चाहिए?
<पी> पॉवरशेल स्वचालन के लिए स्क्रिप्ट बनाने के बारे में है। और संभवतः इसे प्राप्त करने के लिए सबसे उपयोगी उपकरण फॉर लूप है। आप इसका उपयोग कई कॉपी-पेस्ट ऑपरेशंस को अधिक कॉम्पैक्ट, सुरुचिपूर्ण स्क्रिप्ट से बदलने के लिए कर सकते हैं। <पी> इस लूप का सबसे आम कार्य एक समय में एक सरणी, एक प्रविष्टि पर पुनरावृति करना है। और भी अधिक सुव्यवस्थित स्क्रिप्ट के लिए, आप ForEach लूप का भी उपयोग कर सकते हैं। आप संख्यात्मक अनुक्रम उत्पन्न करने के लिए फॉर लूप का भी उपयोग कर सकते हैं, हालांकि इसकी शायद ही कभी आवश्यकता होती है। <पी> लूप के सभी आवश्यक कार्यों को मापदंडों में शामिल करके फॉर लूप अन्य लूपिंग एल्गोरिदम पर स्कोर करता है, उन कथनों को भूलने के कारण होने वाली किसी भी त्रुटि को रोकता है। यह कमांड के एक सेट को दोहराने के लिए कॉल करने वाले किसी भी परिदृश्य में फॉर लूप को अपरिहार्य बनाता है।