تعد حلقة For واحدة من أكثر الحلقات أدوات قيمة في أي لغة برمجة ، ولا يختلف Microsoft PowerShell عن ذلك. يمكنك استخدام حلقات أخرى لتكرار الأوامر، ولكن ربما تكون حلقة For هي الأكثر وضوحًا.
بدءًا من التكرار على المصفوفات وحتى تنفيذ دالة لعدد محدد مسبقًا من المرات، هناك العديد من الأشياء التي يمكنك تحقيقها باستخدام هذه الأداة. فيما يلي برنامج تعليمي حول كيفية استخدام حلقات For في PowerShell.
ما فائدة حلقات For في PowerShell؟
بخلاف موجه الأمر ، يعد PowerShell بيئة برمجة نصية كاملة. وهذا يعني أنه يمكنك كتابة البرامج النصية بوويرشيل قابل لإعادة الاستخدام لتنفيذ المهام تلقائيًا بدلاً من إدخال الأوامر يدويًا. وحلقات For هي المفتاح لكتابة هذه الوحدات.
تكرر عبارة For كتلة البرنامج النصي لعدد محدد من المرات، مع تعديل متغير معين لتتبع التقدم. يتيح لك هذا استخدام الحلقة لبعض السيناريوهات المثيرة للاهتمام.
يمكنك إنشاء تسلسلات من الأرقام، أو تحديد رقم أولي، أو عرض مؤقت للعد التنازلي. وبشكل عملي أكثر، يمكنك التكرار على مجموعة من الكائنات، وتنفيذ بعض الإجراءات مع كل إدخال.
بناء جملة حلقة For في PowerShell
تعمل حلقات For في Windows PowerShell بنفس الطريقة التي تعمل بها في أي لغة برمجة. يتم وضع التعبيرات التي تقوم بتهيئة متغير التتبع، واختبار قيمته، وتعديل المتغير داخل الأقواس التي تلي كلمة "For"، مفصولة بفواصل منقوطة. ثم تأتي قائمة العبارات نفسها مقيدة بأقواس متعرجة.
من أجل (التهيئة; الحالة; التحديث)
<ص>{كتلة البرنامج النصي
<ص>كيفية استخدام حلقة For في برنامج PowerShell النصي
إن استخدام حلقة For أمر بسيط جدًا. كلما واجهت موقفًا يتطلب تكرار خطوة مختلفة قليلاً، يجب عليك وضعها في حلقة For.
لنفترض أنك بحاجة إلى كتابة مقتطف تعليمات برمجية يمكنه العثور على مجموع جميع الأعداد الطبيعية حتى الرقم n، الموجود في المتغير $n. فيما يلي مثال أساسي لحلقة For:
$n = 10
مجموع $ = 0
لـ ($i = 1 ; $i -le $n ; $i++)
<ص>{$sum = $sum + $i
<ص>"مجموع $n من الأعداد الطبيعية هو $sum"
الوصول إلى المصفوفات من خلال حلقة For
.إن إنشاء تسلسلات رقمية ليس هو ما يستخدمه معظم الأشخاص PowerShell. الاستخدام الأكثر شيوعًا هو التكرار على مصفوفة.
لنفترض أن لديك مصفوفة $week تحتوي على سبعة عناصر. يمكنك إخراج قائمة الأيام الموجودة في المصفوفة باستخدام حلقة For البسيطة، كما هو موضح في المثال التالي.
لـ ($i = 0 ; $i -lt $week.Length ; $i++)
<ص>{$week[$i]
استخدام حلقة ForEach للتكرار السريع عبر المصفوفة
هناك شكل آخر من أشكال حلقة For وهو عبارة ForEach. يعمل هذا الإصدار على تبسيط عملية استعراض محتويات مصفوفة PowerShell ومعالجتها بشكل فردي. على سبيل المثال، يمكن إعادة كتابة مقتطف الكود السابق على النحو التالي:
البحث (يوم في أسبوع)
<ص>{$يوم
عند التعامل مع كائنات أكثر تعقيدًا، يمكنك أيضًا استخدام Foreach-Object cmdlet لتنفيذ إجراء على محتويات أي أمر PowerShell.
كيف تختلف حلقة For عن أنواع الحلقات الأخرى؟
إن حلقة For ليست النوع الوحيد من عبارات التكرار المتاحة لك. مثل معظم لغات البرمجة، يحتوي PowerShell على أنواع متعددة من الحلقات.
بينما
أبسطها هي حلقة while. كل ما لديك هو شرط وكتلة برنامج نصي، وستستمر الحلقة طالما تم تقييم تعبير الاختبار على أنه صحيح. نظرًا لأنه يتم تقييم التعبير أولاً، فهناك فرصة لعدم تشغيل التعليمات البرمجية على الإطلاق أو أن ينتهي بها الأمر كحلقة لا نهائية.ص>
أثناء (الحالة)
<ص>{كتلة البرنامج النصي
افعل بينما
إذا كنت تكتب برنامجًا نصيًا يحتاج إلى التشغيل مرة واحدة على الأقل - حتى لو تم تقييم التعبير إلى خطأ - فيمكنك استخدام حلقة Do-While. والفرق الوحيد عن حلقة while هو أنها تضع كتلة الأوامر قبل الشرط، مما يعني أنه يتم تنفيذ التعليمات البرمجية قبل التحقق من تعبير الاختبار للمرة الأولى.
افعل {
كتلة البرنامج النصي
<ص>أثناء (الحالة)
افعل حتى
هناك إصدار آخر من هذه الحلقة وهو Do-Until. في الأساس، يقوم بتشغيل كتلة التعليمات البرمجية ثم يكررها حتى يصبح تعبير الاختبار صحيحًا - وهو عكس حلقة Do-While. ليست بنية مفيدة بشكل خاص، حيث يمكنك تحقيق نفس الشيء عن طريق تعديل الشرط في حلقة Do-While القياسية..
افعل {
كتلة البرنامج النصي
<ص>حتى (الحالة)
لماذا تعد حلقة For أفضل
تكمن مشكلة جميع بنيات الحلقات الأخرى في أنها لا تتضمن القيمة الأولية أو بيانات التحديث. عليك أن تتذكر يدويًا إنشاء متغير خارج الحلقة ثم زيادته (أو إنقاصه) أثناء كل تمريرة للحلقة.
كما قد تتوقع، غالبًا ما ينسى المبرمجون هذه الخطوة، مما يؤدي إلى عدم عمل البرنامج النصي على النحو المنشود. وهذا يضيع وقتًا ثمينًا في تصحيح الأخطاء.
تتجنب حلقة For هذه المشكلة عن طريق استلزام تعبيرات التهيئة والزيادة داخل أقواس البداية. يؤدي هذا إلى نصوص برمجية أكثر وضوحًا وقوة.
متى يجب عليك استخدام حلقة For في PowerShell؟
يتعلق PowerShell بإنشاء البرامج النصية للتشغيل الآلي. وربما تكون الأداة الأكثر فائدة لتحقيق ذلك هي حلقة For. يمكنك استخدامه لاستبدال العديد من عمليات النسخ واللصق ببرنامج نصي أكثر إحكاما وأناقة.
الوظيفة الأكثر شيوعًا لهذه الحلقة هي التكرار عبر مصفوفة، بمعدل إدخال واحد في كل مرة. للحصول على نص أكثر انسيابية، يمكنك استخدام حلقة ForEach أيضًا. يمكنك أيضًا استخدام حلقة For لإنشاء تسلسلات رقمية، على الرغم من أن ذلك نادرًا ما يكون مطلوبًا.
تتفوق حلقة For على خوارزميات التكرار الأخرى من خلال تضمين جميع الوظائف الأساسية للحلقة في المعلمات، مما يمنع أي أخطاء بسبب نسيان تلك البيانات. وهذا يجعل حلقة For لا غنى عنها في أي سيناريو يتطلب تكرار مجموعة من الأوامر.
.