For लूप किसी भी प्रोग्रामिंग भाषा में सबसे मूल्यवान टूल में से एक है, और Microsoft PowerShell भी इससे अलग नहीं है। आप कमांड को दोहराने के लिए अन्य लूप का उपयोग कर सकते हैं, लेकिन For लूप शायद सबसे सीधा है।
ऐरे पर पुनरावृत्ति करने से लेकर एक पूर्वनिर्धारित संख्या में फ़ंक्शन को पूरा करने तक, इस टूल से आप कई चीजें हासिल कर सकते हैं। यहां PowerShell में For लूप का उपयोग करने का एक ट्यूटोरियल है।
PowerShell में For Loops का उपयोग क्या है?
कमांड प्रॉम्प्ट के विपरीत, PowerShell एक पूर्ण स्क्रिप्टिंग वातावरण है। इसका मतलब है कि आप पुन: प्रयोज्य PowerShell स्क्रिप्ट लिख सकते हैं ताकि मैन्युअल रूप से कमांड दर्ज करने के बजाय कार्यों को स्वचालित रूप से पूरा किया जा सके। और For लूप इन मॉड्यूल को लिखने की कुंजी हैं।
एक For स्टेटमेंट एक स्क्रिप्ट ब्लॉक को एक विशिष्ट संख्या में दोहराता है, प्रगति को ट्रैक करने के लिए दिए गए वेरिएबल को संशोधित करता है। यह आपको लूप को कुछ दिलचस्प परिदृश्यों के लिए उपयोग करने की अनुमति देता है।
आप संख्याओं के अनुक्रम उत्पन्न कर सकते हैं, एक अभाज्य संख्या निर्धारित कर सकते हैं, या एक काउंटडाउन टाइमर प्रदर्शित कर सकते हैं। अधिक व्यावहारिक रूप से, आप वस्तुओं की एक सरणी पर पुनरावृत्ति कर सकते हैं, प्रत्येक प्रविष्टि के साथ कुछ कार्रवाई कर सकते हैं।
PowerShell में For Loop का सिंटैक्स
For लूप Windows PowerShell में उसी तरह काम करते हैं जैसे वे किसी भी प्रोग्रामिंग भाषा में करते हैं। ट्रैकिंग वेरिएबल को इनिशियलाइज़ करने, उसके मूल्य का परीक्षण करने, और वेरिएबल को संशोधित करने वाले एक्सप्रेशन "For," के बाद आने वाले ब्रैकेट के भीतर संलग्न होते हैं, जो सेमीकोलन द्वारा अलग किए जाते हैं। फिर स्क्रिप्ट ब्लॉक स्वयं आता है जो कर्ली ब्रेसेस द्वारा बंधा होता है।
For (Initialization; Condition; Update)
{
Script Block
}
PowerShell स्क्रिप्ट में For Loop का उपयोग कैसे करें
For लूप का उपयोग करना काफी सरल है। जब भी आप ऐसी स्थिति का सामना करते हैं जो थोड़े भिन्न चरण को दोहराने के लिए कहती है, तो आपको इसे For लूप में डाल देना चाहिए।
मान लीजिए कि आपको एक कोड स्निपेट लिखने की आवश्यकता है जो एक संख्या n तक सभी प्राकृतिक संख्याओं का योग ढूंढ सके, जो वेरिएबल $n में निहित है। यहां एक बुनियादी For लूप उदाहरण है:
$n = 10
$sum = 0
For ($i = 1 ; $i -le $n ; $i++)
{
$sum = $sum + $i
}
"$n प्राकृतिक संख्याओं का योग $sum है"
For Loop के माध्यम से ऐरे तक पहुंचना
संख्यात्मक अनुक्रम उत्पन्न करना शायद ही वह है जिसके लिए अधिकांश लोग PowerShell का उपयोग करते हैं। अधिक सामान्य उपयोग एक सरणी पर पुनरावृत्ति करना है।
मान लीजिए कि आपके पास सात तत्वों के साथ एक सरणी $week है। आप एक साधारण For लूप का उपयोग करके सरणी में निहित दिनों की सूची को आउटपुट कर सकते हैं, जैसा कि निम्न उदाहरण में दिखाया गया है।
For ($i = 0 ; $i -lt $week.Length ; $i++)
{
$week[$i]
}
ForEach लूप का उपयोग करके किसी ऐरे के माध्यम से तेजी से पुनरावृति करें
For लूप का एक अन्य रूप ForEach स्टेटमेंट है। यह संस्करण PowerShell सरणी की सामग्री के माध्यम से जाने और उन्हें व्यक्तिगत रूप से प्रोसेस करने को सरल बनाता है। पिछला कोड स्निपेट, उदाहरण के लिए, इस तरह फिर से लिखा जा सकता है:
Foreach ($day in $week)
{
$day
}
अधिक जटिल वस्तुओं से निपटने के दौरान, आप किसी भी PowerShell कमांड की सामग्री पर कार्रवाई करने के लिए Foreach-Object cmdlet का भी उपयोग कर सकते हैं।
For Loop अन्य प्रकार के लूप से कैसे अलग है?
For लूप आपके लिए उपलब्ध एकमात्र प्रकार का लूपिंग स्टेटमेंट नहीं है। अधिकांश प्रोग्रामिंग भाषाओं की तरह, PowerShell में कई प्रकार के लूप हैं।
While
इनमें से सबसे सरल While लूप है। आपके पास केवल एक शर्त और एक स्क्रिप्ट ब्लॉक है, और लूप तब तक चलता है जब तक टेस्ट एक्सप्रेशन true का मूल्यांकन करता है। चूंकि एक्सप्रेशन का मूल्यांकन पहले किया जाता है, इसलिए कोड के बिल्कुल न चलने या अनंत लूप बनने की संभावना है।
While (Condition)
{
Script Block
}
Do-While
यदि आप एक स्क्रिप्ट लिख रहे हैं जिसे कम से कम एक बार चलाने की आवश्यकता है—भले ही एक्सप्रेशन false का मूल्यांकन करे—तो आप Do-While लूप का उपयोग कर सकते हैं। While लूप से एकमात्र अंतर यह है कि यह कमांड ब्लॉक को शर्त से पहले रखता है, जिसका अर्थ है कि कोड पहली बार टेस्ट एक्सप्रेशन चेक होने से पहले निष्पादित होता है।
Do {
Script block
}
While (Condition)
Do-Until
इस लूप का एक अन्य संस्करण Do-Until है। मूल रूप से, यह कोड ब्लॉक चलाता है और फिर इसे तब तक दोहराता है जब तक टेस्ट एक्सप्रेशन true न हो जाए—Do-While लूप का उल्टा। विशेष रूप से उपयोगी संरचना नहीं, क्योंकि आप मानक Do-While लूप में शर्त को संशोधित करके वही चीज प्राप्त कर सकते हैं।
Do {
Script Block
}
Until (Condition)
For Loop क्यों बेहतर है
इन अन्य सभी लूपिंग संरचनाओं के साथ समस्या यह है कि उनमें प्रारंभिक मान या अपडेट स्टेटमेंट शामिल नहीं हैं। आपको लूप के बाहर मैन्युअली एक वेरिएबल बनाने और फिर लूप के हर पास के दौरान इसे बढ़ाना (या घटाना) याद रखना होगा।
जैसा कि आप उम्मीद कर सकते हैं, प्रोग्रामर अक्सर इस चरण को भूल जाते हैं, जिससे एक स्क्रिप्ट बनती है जो इरादे के मुताबिक काम नहीं करती। यह डिबगिंग में कीमती समय बर्बाद करता है।
For लूप इस समस्या से बचाता है क्योंकि यह प्रारंभिक ब्रैकेट के भीतर इनिशियलाइज़ेशन और इंक्रीमेंट एक्सप्रेशन को आवश्यक बनाता है। यह क्लीनर, अधिक मजबूत स्क्रिप्ट की ओर ले जाता है।
PowerShell में For Loop का उपयोग कब करना चाहिए?
PowerShell ऑटोमेशन के लिए स्क्रिप्ट बनाने के बारे में है। और शायद इसे हासिल करने के लिए सबसे उपयोगी टूल For लूप है। आप इसका उपयोग कई कॉपी-पेस्ट ऑपरेशन को अधिक कॉम्पैक्ट, एलिगेंट स्क्रिप्ट से बदलने के लिए कर सकते हैं।
इस लूप का सबसे सामान्य कार्य एक सरणी पर पुनरावृत्ति करना है, एक समय में एक प्रविष्टि। एक और भी अधिक सुव्यवस्थित स्क्रिप्ट के लिए, आप ForEach लूप का भी उपयोग कर सकते हैं। आप संख्यात्मक अनुक्रम उत्पन्न करने के लिए For लूप का भी उपयोग कर सकते हैं, हालांकि इसकी शायद ही कभी आवश्यकता होती है।
For लूप अन्य लूपिंग एल्गोरिदम पर इसलिए स्कोर करता है क्योंकि यह लूप के सभी आवश्यक कार्यों को पैरामीटर्स में शामिल करता है, उन स्टेटमेंट को भूलने के कारण होने वाली किसी भी त्रुटि को रोकता है। यह For लूप को कमांड के एक सेट को दोहराने के लिए बुलाने वाले किसी भी परिदृश्य में अनिवार्य बनाता है।