लूप के लिए पावरशेल कैसे एक कमांड को कई बार चला सकता है
फॉर लूप किसी भी प्रोग्रामिंग भाषा में(valuable tools in any programming language) सबसे मूल्यवान टूल में से एक है , और माइक्रोसॉफ्ट पावरशेल(Microsoft PowerShell) अलग नहीं है। आप कमांड को दोहराने के लिए अन्य लूप का उपयोग कर सकते हैं, लेकिन फॉर लूप शायद सबसे सीधा है।
सरणियों पर पुनरावृति से लेकर किसी फ़ंक्शन को पूर्व निर्धारित संख्या में करने तक, ऐसी कई चीजें हैं जो आप इस टूल से हासिल कर सकते हैं। पावरशेल(PowerShell) में फॉर लूप्स का उपयोग कैसे करें, इस पर एक ट्यूटोरियल यहां दिया गया है ।
पावरशेल(PowerShell) में फॉर लूप्स का (Loops)उपयोग(Use) क्या है ?
कमांड प्रॉम्प्ट(Command Prompt) के विपरीत , पावरशेल(PowerShell) एक पूर्ण स्क्रिप्टिंग वातावरण है। इसका मतलब है कि आप मैन्युअल रूप से कमांड दर्ज करने के बजाय स्वचालित रूप से कार्यों को करने के लिए पुन: प्रयोज्य पावरशेल स्क्रिप्ट(PowerShell scripts) लिख सकते हैं । और फॉर लूप्स इन मॉड्यूल्स को लिखने की कुंजी हैं।
ए फॉर स्टेटमेंट एक स्क्रिप्ट ब्लॉक को एक विशिष्ट संख्या में दोहराता है, प्रगति का ट्रैक रखने के लिए दिए गए वेरिएबल को संशोधित करता है। यह आपको कुछ दिलचस्प परिदृश्यों के लिए लूप का उपयोग करने की अनुमति देता है।
आप संख्याओं के अनुक्रम उत्पन्न कर सकते हैं, एक अभाज्य संख्या निर्धारित कर सकते हैं, या एक उलटी गिनती टाइमर प्रदर्शित कर सकते हैं। अधिक व्यावहारिक रूप से, आप प्रत्येक प्रविष्टि के साथ कुछ क्रिया करते हुए, वस्तुओं की एक सरणी पर पुनरावृति कर सकते हैं।
पावरशेल(PowerShell) में फॉर लूप(Loop) का सिंटेक्स(Syntax)
लूप के लिए विंडोज पॉवरशेल(Windows PowerShell) में उसी तरह काम करते हैं जैसे वे किसी प्रोग्रामिंग भाषा में करते हैं। ट्रैकिंग वैरिएबल को प्रारंभ करने वाले, उसके मान का परीक्षण करने और वैरिएबल को संशोधित करने वाले एक्सप्रेशन अर्धविरामों द्वारा अलग किए गए "के लिए" के बाद कोष्ठक में निहित हैं। इसके बाद स्टेटमेंट लिस्ट आती है जो घुंघराले ब्रेसिज़ से बंधी होती है।
के लिए ( आरंभीकरण(Initialization) ; स्थिति(Condition) ; अद्यतन(Update) )
{
स्क्रिप्ट ब्लॉक(Script Block)
}
पावरशेल स्क्रिप्ट(PowerShell Script) में फॉर लूप का उपयोग कैसे करें(Loop)
फॉर लूप का उपयोग करना बहुत आसान है। जब भी आपको ऐसी स्थिति का सामना करना पड़ता है जिसमें थोड़ा अलग कदम दोहराने की आवश्यकता होती है, तो आपको इसे फॉर लूप में डाल देना चाहिए।
मान लें कि आपको एक कोड स्निपेट लिखने की आवश्यकता है, जो एक संख्या n(n) तक सभी प्राकृतिक संख्याओं का योग ज्ञात कर सकता है , जो कि चर $n में निहित है। यहाँ एक बुनियादी लूप उदाहरण के लिए है:
$n = 10
$ योग = 0
के लिए ($i = 1 ; $i -le $n ; $i++)
{
$सम = $सम + $i
}
"$n प्राकृतिक संख्याओं का योग $sum है"
लूप के माध्यम से ऐरे तक पहुंचना
संख्यात्मक अनुक्रम उत्पन्न करना शायद ही अधिकांश लोग पावरशेल(PowerShell) का उपयोग करते हैं। एक अधिक सामान्य उपयोग एक सरणी पर पुनरावृति करना है।
मान लें कि(Say) आपके पास सात तत्वों के साथ $week एक सरणी है। आप एक साधारण फॉर लूप का उपयोग करके सरणी में निहित दिनों की सूची को आउटपुट कर सकते हैं, जैसा कि निम्नलिखित उदाहरण में दिखाया गया है।
के लिए ($i = 0 ; $i -lt $week.Length ; $i++)
{
$सप्ताह[$मैं]
}
एक सरणी के माध्यम से त्वरित रूप से पुनरावृति(Quickly Iterate) करने के लिए ForEach लूप(ForEach Loop) का उपयोग करना
फॉर लूप का दूसरा रूप फॉरएच(ForEach) स्टेटमेंट है। यह संस्करण पावरशेल(PowerShell) सरणी की सामग्री के माध्यम से जाने और उन्हें व्यक्तिगत रूप से संसाधित करने को सरल बनाता है। पिछले कोड स्निपेट, उदाहरण के लिए, इस तरह फिर से लिखा जा सकता है:
Foreach ($सप्ताह में दिन)
{
$दिन
}
अधिक जटिल वस्तुओं के साथ काम करते समय, आप किसी भी PowerShell कमांड की सामग्री पर कार्रवाई करने के लिए Foreach-Object cmdlet का उपयोग कर सकते हैं।
लूप के लिए अन्य प्रकार(Types) के लूपों से किस प्रकार (Loops)भिन्न(Loop Different) है ?
फॉर लूप आपके लिए उपलब्ध एकमात्र प्रकार का लूपिंग स्टेटमेंट नहीं है। अधिकांश प्रोग्रामिंग भाषाओं की तरह, पावरशेल(PowerShell) में कई प्रकार के लूप होते हैं।
जबकि
इनमें से सबसे सरल जबकि लूप है। आपके पास केवल एक शर्त और एक स्क्रिप्ट ब्लॉक है, और लूप तब तक चलता है जब तक परीक्षण अभिव्यक्ति सत्य का मूल्यांकन करती है। चूंकि अभिव्यक्ति का मूल्यांकन पहले किया जाता है, इसलिए कोड के बिल्कुल नहीं चलने या अनंत लूप के रूप में समाप्त होने का एक मौका है।
जबकि ( हालत(Condition) )
{
स्क्रिप्ट ब्लॉक(Script Block)
}
जबकि ऐसा
यदि आप एक स्क्रिप्ट लिख रहे हैं जिसे कम से कम एक बार चलाने की आवश्यकता है - भले ही अभिव्यक्ति का मूल्यांकन असत्य हो - तो आप डू-व्हाइल(Do-While) लूप का उपयोग कर सकते हैं। जबकि लूप से एकमात्र अंतर यह है कि यह कमांड ब्लॉक को कंडीशन से पहले रखता है, जिसका अर्थ है कि पहली बार टेस्ट एक्सप्रेशन की जाँच से पहले कोड को निष्पादित किया जाता है।
करना {
स्क्रिप्ट ब्लॉक(Script block)
}
जबकि ( हालत(Condition) )
तब तक करो
इस लूप का दूसरा संस्करण Do-Until है । मूल रूप(Basically) से, यह कोड ब्लॉक चलाता है और फिर इसे तब तक दोहराता है जब तक कि परीक्षण अभिव्यक्ति सत्य न हो - Do-While लूप के विपरीत। विशेष रूप से उपयोगी संरचना नहीं है, क्योंकि आप मानक Do-While(Do-While) लूप में स्थिति को संशोधित करके एक ही चीज़ प्राप्त कर सकते हैं ।
करना {
स्क्रिप्ट ब्लॉक(Script Block)
}
तक ( हालत(Condition) )
लूप के लिए बेहतर क्यों है
इन सभी अन्य लूपिंग संरचनाओं के साथ समस्या यह है कि उनमें प्रारंभिक मान या अद्यतन विवरण शामिल नहीं हैं। आपको लूप के बाहर एक वेरिएबल बनाने के लिए मैन्युअल रूप से याद रखना होगा और फिर लूप के प्रत्येक पास के दौरान इसे बढ़ाना (या इसे घटाना) करना होगा।
जैसा कि आप उम्मीद कर सकते हैं, प्रोग्रामर अक्सर इस चरण को भूल जाते हैं, जिससे एक ऐसी स्क्रिप्ट बन जाती है जो इच्छित रूप से काम नहीं करती है। यह डिबगिंग में कीमती समय बर्बाद करता है।
फॉर लूप शुरुआती ब्रैकेट में इनिशियलाइज़ेशन और इंक्रीमेंट एक्सप्रेशन की आवश्यकता के कारण इस समस्या से बचा जाता है। यह क्लीनर, अधिक मजबूत स्क्रिप्ट की ओर जाता है।
आपको पावरशेल(PowerShell) में फॉर लूप(Loop) का उपयोग कब करना चाहिए ?
पावरशेल(PowerShell) ऑटोमेशन के लिए स्क्रिप्ट बनाने के बारे में है। और शायद इसे प्राप्त करने के लिए सबसे उपयोगी उपकरण फॉर लूप है। आप इसका उपयोग कई कॉपी-पेस्ट संचालन को अधिक कॉम्पैक्ट, सुरुचिपूर्ण स्क्रिप्ट के साथ बदलने के लिए कर सकते हैं।
इस लूप का सबसे आम कार्य एक समय में एक प्रविष्टि, एक सरणी पर पुनरावृति करना है। और भी अधिक सुव्यवस्थित स्क्रिप्ट के लिए, आप ForEach लूप का भी उपयोग कर सकते हैं। आप संख्यात्मक अनुक्रम उत्पन्न करने के लिए फॉर लूप का भी उपयोग कर सकते हैं, हालांकि इसकी शायद ही कभी आवश्यकता होती है।
लूप के सभी आवश्यक कार्यों को मापदंडों में शामिल करके अन्य लूपिंग एल्गोरिदम पर फॉर लूप स्कोर, उन बयानों को भूलने के कारण किसी भी त्रुटि को रोकता है। यह किसी भी परिदृश्य में आदेशों के एक सेट को दोहराने के लिए कॉल करने के लिए फॉर लूप को अनिवार्य बनाता है।
Related posts
कमांड प्रॉम्प्ट और पॉवरशेल का उपयोग करके एकाधिक फ़ोल्डर बनाएँ
एक पीडीएफ फाइल में कई पेज कैसे स्कैन करें
वेब ऐप को डेस्कटॉप ऐप की तरह चलाएं
नेटवर्क समस्याओं के निवारण के लिए पिंग कमांड का उपयोग कैसे करें
विंडोज 10/11 में टास्ककिल कमांड का उपयोग कैसे करें
लॉगऑन, लॉगऑफ़, स्टार्टअप, शटडाउन पर सबसे पहले Windows PowerShell स्क्रिप्ट चलाएँ
विंडोज कमांड लाइन से आउटपुट को टेक्स्ट फाइल में रीडायरेक्ट करें
वर्ड डॉक्स का कई भाषाओं में अनुवाद कैसे करें
एक साथ कई टेक्स्ट फाइलों के अंदर खोजें
कमांड प्रॉम्प्ट या पॉवरशेल का उपयोग करके स्थानीय खाता पासवर्ड बदलें
पता करें कि विंडोज कब स्थापित किया गया था। इसकी मूल स्थापना तिथि क्या है?
कमांड प्रॉम्प्ट या पॉवरशेल का उपयोग करके रिमोट डेस्कटॉप सक्षम करें
8 विशेषताएं जो विंडोज 10 के कमांड प्रॉम्प्ट और पावरशेल में नई हैं?
यूएसबी स्टिक से चलने वाले पोर्टेबल ऐप्स कैसे बनाएं
कमांड प्रॉम्प्ट या पॉवरशेल का उपयोग करके सिस्टम रिस्टोर प्वाइंट बनाएं
PowerShell के साथ हटाए गए मेलबॉक्स को कैसे पुनर्स्थापित करें
कमांड लाइन या पॉवरशेल के माध्यम से स्टार्टअप प्रोग्राम की सूची तैयार करें
विंडोज 10 में टैब्ड कमांड प्रॉम्प्ट का उपयोग कैसे करें
विंडोज़ में चल रही प्रक्रियाओं की सूची कैसे प्रिंट करें -
जीमेल में एकाधिक ईमेल कैसे अग्रेषित करें