كيف يمكن لـ PowerShell For Loop تشغيل أمر عدة مرات

حلقة For هي واحدة من أكثر الأدوات قيمة في أي لغة برمجة(valuable tools in any programming language) ،  ولا يختلف Microsoft PowerShell . يمكنك استخدام حلقات أخرى لتكرار الأوامر ، ولكن ربما تكون حلقة For هي الأكثر وضوحًا.

من التكرار عبر المصفوفات إلى تنفيذ وظيفة بعدد محدد مسبقًا من المرات ، هناك العديد من الأشياء التي يمكنك تحقيقها باستخدام هذه الأداة. فيما يلي برنامج تعليمي حول كيفية استخدام حلقات For في PowerShell .

ما فائدة (Use)حلقات(Loops) For في PowerShell ؟

على عكس موجه الأوامر(Command Prompt) ، يعد PowerShell بيئة برمجة نصية كاملة. هذا يعني أنه يمكنك كتابة نصوص PowerShell(PowerShell scripts) قابلة لإعادة الاستخدام لتنفيذ المهام تلقائيًا بدلاً من إدخال الأوامر يدويًا. وحلقات For هي المفتاح لكتابة هذه الوحدات.

تقوم عبارة For بتكرار كتلة البرنامج النصي لعدد معين من المرات ، مع تعديل متغير معين لتتبع التقدم. يتيح لك هذا استخدام الحلقة لبعض السيناريوهات المثيرة للاهتمام.

يمكنك إنشاء تسلسل من الأرقام أو تحديد عدد أولي أو عرض مؤقت للعد التنازلي. بشكل أكثر عملية ، يمكنك التكرار عبر مجموعة من الكائنات ، وتنفيذ بعض الإجراءات مع كل إدخال.

بناء جملة(Syntax) For Loop في PowerShell

تعمل حلقات For في Windows PowerShell بنفس الطريقة التي تعمل بها في أي لغة برمجة. التعبيرات التي تقوم بتهيئة متغير التتبع ، واختبار قيمته ، وتعديل المتغير يتم وضعها داخل الأقواس التي تلي "For" ، مفصولة بفواصل منقوطة. ثم تأتي قائمة البيان نفسها مقيدة بأقواس معقوفة.

من أجل ( التهيئة(Initialization) ، الحالة(Condition) ، التحديث(Update) )

{

    كتلة البرنامج النصي(Script Block)

}

كيفية استخدام For Loop في برنامج PowerShell النصي(PowerShell Script)

استخدام حلقة For بسيط للغاية. عندما تواجه موقفًا يستدعي تكرار خطوة متغيرة قليلاً ، يجب أن تضعها في حلقة For.

لنفترض أنك بحاجة إلى كتابة مقتطف رمز يمكنه العثور على مجموع جميع الأعداد الطبيعية حتى الرقم n ، الموجود في المتغير $ n. إليك مثال حلقة For أساسية:

ن = 10

المجموع بالدولار = 0

لـ ($ i = 1 ؛ $ i -le $ n ؛ $ i ++)

{

    $ sum = $ sum + $ i

}

"مجموع الأعداد الطبيعية $ n هو $ sum"

الوصول إلى المصفوفات من خلال حلقة For

إن إنشاء التسلسلات الرقمية ليس بالأمر الصعب الذي يستخدمه معظم الأشخاص بوويرشيل(PowerShell) . الاستخدام الأكثر شيوعًا هو التكرار عبر المصفوفة.

لنفترض(Say) أن لديك مصفوفة $ week مع سبعة عناصر. يمكنك إخراج قائمة الأيام الموجودة في المصفوفة باستخدام حلقة For بسيطة ، كما هو موضح في المثال التالي.

لـ ($ i = 0 ؛ $ i -lt $ week.Length ؛ $ i ++)

{

    أسبوع $ [$ i]

}

استخدام حلقة ForEach(ForEach Loop) للتكرار بسرعة(Quickly Iterate) من خلال مصفوفة

شكل آخر من أشكال الحلقة For هو عبارة ForEach . يبسط هذا الإصدار الاطلاع على محتويات مصفوفة PowerShell ومعالجتها بشكل فردي. يمكن إعادة كتابة مقتطف الشفرة السابق ، على سبيل المثال ، على النحو التالي:

Foreach ($ يوم في $ أسبوع)

{

    يوم $

}

عند التعامل مع كائنات أكثر تعقيدًا ، يمكنك أيضًا استخدام Foreach-Object cmdlet لتنفيذ إجراء على محتويات أي أمر PowerShell .

كيف تختلف For Loop عن (Loop Different)الأنواع(Types) الأخرى من الحلقات(Loops) ؟

حلقة For ليست النوع الوحيد من عبارة التكرار المتاحة لك. مثل معظم لغات البرمجة ، يحتوي PowerShell على أنواع متعددة من الحلقات.

بينما

أبسط هذه هي حلقة while. كل ما لديك هو شرط وكتلة البرنامج النصي ، وتعمل الحلقة طالما أن تعبير الاختبار صحيح. نظرًا لأنه يتم تقييم التعبير أولاً ، فهناك فرصة لعدم تشغيل الكود على الإطلاق أو ينتهي به الأمر كحلقة لا نهائية. 

بينما ( الحالة(Condition) )

{

    كتلة البرنامج النصي(Script Block)

}

افعل اثناء

إذا كنت تكتب برنامجًا نصيًا يحتاج إلى التشغيل مرة واحدة على الأقل - حتى إذا تم تقييم التعبير على خطأ - فيمكنك استخدام حلقة Do- while. الاختلاف الوحيد عن حلقة while هو أنها تضع كتلة الأمر قبل الشرط ، مما يعني أن الكود يتم تنفيذه قبل فحص تعبير الاختبار للمرة الأولى.

يفعل {

    كتلة البرنامج النصي(Script block)

}

بينما ( الحالة(Condition) )

افعل حتى

إصدار آخر من هذه الحلقة هو Do-until . بشكل أساسي(Basically) ، يقوم بتشغيل كتلة التعليمات البرمجية ثم يكررها حتى يصبح تعبير الاختبار صحيحًا - عكس حلقة Do-(Do-While) while. ليست بنية مفيدة بشكل خاص ، حيث يمكنك تحقيق نفس الشيء عن طريق تعديل الشرط في حلقة Do-while القياسية .

يفعل {

    كتلة البرنامج النصي(Script Block)

}

حتى ( الشرط(Condition) )

لماذا تعتبر For Loop أفضل

المشكلة مع كل هذه الهياكل الحلقية الأخرى هي أنها لا تتضمن القيمة الأولية أو عبارات التحديث. عليك أن تتذكر يدويًا إنشاء متغير خارج الحلقة ثم زيادته (أو إنقاصه) خلال كل تمريرة للحلقة.

كما قد تتوقع ، غالبًا ما ينسى المبرمجون هذه الخطوة ، مما يؤدي إلى نص لا يعمل على النحو المنشود. هذا يضيع وقتا ثمينا في التصحيح.

تتجنب حلقة For هذه المشكلة عن طريق فرض تعبيرات التهيئة والزيادة داخل أقواس البداية. هذا يؤدي إلى نصوص أنظف وأكثر قوة.

متى يجب استخدام For Loop في PowerShell ؟

بوويرشيل(PowerShell) هو كل شيء عن إنشاء البرامج النصية للأتمتة. وربما تكون الأداة الأكثر فائدة لتحقيق ذلك هي الحلقة For. يمكنك استخدامه لاستبدال العديد من عمليات لصق النسخ بنص أكثر إحكاما وأناقة.

الوظيفة الأكثر شيوعًا لهذه الحلقة هي التكرار عبر مصفوفة ، إدخال واحد في كل مرة. للحصول على نص برمجي أكثر بساطة ، يمكنك استخدام حلقة ForEach أيضًا. يمكنك أيضًا استخدام حلقة For لإنشاء تسلسلات رقمية ، على الرغم من أن ذلك نادرًا ما يكون مطلوبًا.

درجات حلقة For على خوارزميات التكرار الأخرى من خلال تضمين جميع الوظائف الأساسية للحلقة في المعلمات ، مما يمنع حدوث أي أخطاء بسبب نسيان تلك العبارات. هذا يجعل حلقة For لا غنى عنها في أي سيناريو يستدعي تكرار مجموعة من الأوامر.



About the author

أنا مبرمج كمبيوتر منذ أكثر من 15 عامًا. تكمن مهاراتي في تطوير التطبيقات البرمجية وصيانتها ، فضلاً عن تقديم الدعم الفني لتلك التطبيقات. لقد قمت أيضًا بتدريس برمجة الكمبيوتر لطلاب المدارس الثانوية ، وأنا حاليًا مدرس محترف.



Related posts