في البرمجة النصية المجمعة على نظام التشغيل Windows، يمكن للمطورين التحكم في تدفق البرامج النصية الخاصة بك باستخدام تقنيات أو طرق مختلفة لتقديم فترات توقف مؤقت أو انتظار. يعد أمرا 'الإيقاف المؤقت' و'الانتظار' طريقتين للتحكم في تدفق الملفات الدفعية الخاصة بك. يوقف أمر 'الإيقاف المؤقت' تنفيذ ملف دفعي أثناء عرض الرسالة 'اضغط على أي مفتاح للمتابعة...'. لا يمكن تشغيل الملف الدفعي حتى يضغط المستخدم على المفتاح. يتم تعليق تنفيذ الملف الدفعي لعدد الثواني المشار إليه في تعليمات الانتظار.
أمر إيقاف الملف الدفعي
يقوم أمر 'الإيقاف المؤقت' الخاص بالملف الدفعي بإيقاف تنفيذ الملف الدفعي أثناء عرض الرسالة في سطر الأوامر. لن يتم تشغيل الملف الدفعي حتى يضغط المستخدم على المفتاح. الأمر الذي يوقف التنفيذ التالي مفيد. يعد تشغيل الملف الدفعي مباشرة ورؤية المخرجات المطلوبة تظهر على الشاشة أمرًا مفيدًا.
بناء جملة أمر 'الإيقاف المؤقت' هو:
يوقف
مطالبة المستخدم بالإدخال
يُظهر أمر 'الإيقاف المؤقت' في البرنامج النصي الدفعي التالي رسالة 'اضغط على أي مفتاح للمتابعة...' عندما يقوم المستخدم بتشغيل هذا الملف الدفعي. قبل أن ينتقل الملف الدفعي إلى الأمر 'dir'، يجب على المستخدم الضغط على مفتاح.
@صدى خارج
rem يتوقف هذا الملف الدفعي مؤقتًا حتى يضغط المستخدم على المفتاح.
echo مرحبًا، مرحبًا بك في العرض التوضيحي لأمر PAUSE.
يستمر تنفيذ برنامج echo Script بعد التوقف المؤقت.
يوقف
rem يستمر هذا الملف الدفعي مع الأمر التالي.
صدى شكرا لك!
أنت
عندما يضغط المستخدم على أي مفتاح باستخدام لوحة المفاتيح، تستمر هذه العملية المجمعة:
أمر انتظار الملف الدفعي
الكود الذي قدمته هو ملف دفعي يفتح برنامجين: Notepad وPaint. رمز على النحو التالي:
@صدى خارجصدى بدء البرنامج الأول.
ابدأ /ب /انتظر notepad.exe
تم فتح برنامج echo Notepad في الخلفية بنجاح
صدى بدء البرنامج الثاني.
ابدأ / انتظر mspaint.exe
echo تم فتح الرسام بنجاح.
كمد / ك
السطر الأول، 'echo off'، يمنع الملف الدفعي من عرض الأوامر أثناء تنفيذها.
يتم إعلام المستخدم ببساطة أن البرنامج الأول يتم تشغيله بواسطة السطر الثاني وهو 'صدى بدء البرنامج الأول'.
السطر الثالث، 'START /B /WAIT notepad.exe'، يفتح برنامج Notepad في نافذة الخلفية وينتظر حتى ينتهي قبل المتابعة. يخبر المفتاح '/ B' الأمر START بتشغيل البرنامج في نافذة الخلفية، ويخبر المفتاح '/ WAIT' الأمر START بالانتظار حتى انتهاء البرنامج قبل المتابعة.
يقرأ السطر الرابع صدى المفكرة. عندما يتم فتح برنامج 'المفكرة' بنجاح في الخلفية، فإنه يقوم فقط بإعلام المستخدم برسالة.
السطر الخامس، 'صدى بدء البرنامج الثاني'، يعرض ببساطة رسالة للمستخدم تفيد ببدء تشغيل البرنامج الثاني.
السطر السادس، 'START /WAIT mspaint.exe'، يفتح برنامج الرسام في نافذة الخلفية ولا ينتظر حتى ينتهي قبل المتابعة.
السطر السابع، 'صدى تم فتح الرسام بنجاح'، يعرض ببساطة رسالة للمستخدم تفيد بأنه تم فتح الرسام بنجاح.
يفتح السطر الثامن، 'cmd /k'، نافذة موجه أوامر جديدة ويبقي نافذة موجه الأوامر الحالية مفتوحة.
استخدام حلقة للتأخير المخصص
يمكننا استخدام حلقة للتأخير المخصص في العملية المجمعة. هنا مثال:
في هذا المثال، تظهر الرسالة الأولى للمستخدم عند تشغيل هذا الملف الدفعي. يتم بعد ذلك عرض الرسالة الأولى مرة أخرى بمجرد بدء حلقة 'for'. يقوم أمر المهلة بإيقاف الملف الدفعي لمدة ثانية واحدة قبل عرض الرسالة الثانية. يتم بعد ذلك عرض الرسالة النهائية بعد إجمالي 10 تكرارات.
@صدى خارجعرض الصدى للتأخير باستخدام الحلقة
لـ /l %%i في (1,1,10) افعل (
المهلة /t 1 /nobreak> null
صدى تظهر هذه الرسالة بعد %%i ثانية (ثواني)
)
صدى عرضت هذه الرسالة تأخيرًا مدته 10 ثوانٍ.
استخدام المهلة للتأخير
يقوم أمر المهلة الخاص بالملف الدفعي بإيقاف تنفيذ الملف الدفعي مؤقتًا لعدد محدد مسبقًا من الثواني. يتم إعطاء بناء الجملة هنا:
المهلة /tيحدد المفتاح '/t' مقدار الوقت بالثواني للانتظار. يقوم المفتاح '/nobreak' بتعطيل الضغط على المفتاح من قبل المستخدم لكسر التأخير.
يمكن استخدام أمر 'المهلة' من أجل:
- تأجيل تنفيذ الملف الدفعي لفترة زمنية محددة مسبقًا
- منع مقاطعة إجراء الملف الدفعي من قبل المستخدم
- قم بإنشاء تجربة أكثر سهولة في الاستخدام عن طريق منع المستخدم من الضغط على مفتاح للمتابعة
على سبيل المثال، يتوقف الملف الدفعي التالي مؤقتًا لمدة 10 ثوانٍ:
@صدى خارجecho مرحبًا، يستمر تنفيذ البرنامج النصي بعد 10 ثوانٍ من التأخير
المهلة / ر 10
صدى شكرا لك!
كما هو موضح في لقطة الشاشة التالية، هناك مؤقت قيد التشغيل وينتظر أن يقوم المستخدم بمقاطعة أمر 'المهلة' بالضغط على أي مفتاح. إذا ضغط المستخدم على أي مفتاح، تتوقف العملية وتنتقل إلى الأمر التالي في الملف الدفعي:
يقوم المستخدم في لقطة الشاشة التالية بمقاطعة أمر 'المهلة' بعد 5 ثوانٍ، مما يؤدي إلى عرض عبارة 'شكرًا لك!' رسالة:
توضح لقطة الشاشة التالية كيفية ظهور رسالة 'شكرًا لك!' تستغرق الرسالة 10 ثوانٍ للطباعة على الشاشة إذا لم يقاطع المستخدم النهائي تعليمات المهلة:
فيما يلي الكود المحدث الذي تم تعديله ليشمل مفتاح عدم الانقطاع الذي يمنع المستخدم النهائي من مقاطعة عملية الملف الدفعي:
@صدى خارجrem يتوقف هذا الملف الدفعي مؤقتًا لمدة 10 ثوانٍ
echo مرحبًا، يستمر تنفيذ البرنامج النصي بعد 10 ثوانٍ من التأخير
المهلة /t 10 /nobreak
rem بعد 10 ثوانٍ، سيتم عرض هذا الأمر على شاشة المطالبة
صدى شكرا لك!
هنا هو إخراج الكود السابق:
يطالب سطر الأوامر المستخدم بكتابة Y أو N إذا كان المستخدم يستخدم الأمر 'CTRL + C'. إذا قام المستخدم بالنقر فوق Y، فسيتم إيقاف هذه المهمة المجمعة:
أوامر 'الإيقاف المؤقت' و'الانتظار' و'المهلة' هي طرق للتحكم في تدفق البرامج النصية لدينا. يتم تعليق تشغيل البرنامج النصي عند استخدام أمر 'الإيقاف المؤقت'، ويتم إيقافه لفترة زمنية محددة مسبقًا عند استخدام أمر 'المهلة'.
استخدام العبارات الشرطية للتحكم في التدفق
العبارات الشرطية هي التقنية الأكثر شيوعًا والتي يتم استخدامها لتعديل تدفق البرنامج النصي بناءً على ظروف معينة. استنادًا إلى ما إذا كان الشرط صحيحًا أم خطأ، تنفذ عبارة 'if' أحد جزأين من تنفيذ التعليمات البرمجية. يتم صياغة عبارة 'إذا' على النحو التالي:
إذا كان <الحالة>مثال:
افتح المفكرة أو أي محرر نصوص من اختيارك واكتب الكود التالي الذي يقوم بتهيئة قيمة متغير inputValue إلى 1 في السطر الثالث. يتم بعد ذلك التحقق من قيمة متغير inputValue باستخدام عبارة 'if' في وقت التشغيل لمعرفة ما إذا كانت تساوي 1 أو 2 أو 3. إذا كان الأمر كذلك، فستتم طباعة الرسالة المناسبة على شاشة سطر الأوامر. إذا لم يكن الأمر كذلك، فسيتم عرض الرسالة النهائية. في العبارة الشرطية المعروفة باسم 'if'، يتم التحقق من قيمة الإدخال للمتغير لمعرفة ما إذا كانت تساوي 1 أو 2 أو 3. إذا كان الأمر كذلك، فسيتم بعد ذلك تنفيذ إحدى كتلتي التعليمات البرمجية. إذا كان الشرط صحيحا، فإن العبارة الشرطية لا تفعل شيئا.
@صدى خارجrem يختبر هذا البرنامج النصي قيمة الإدخال المتغيرة مقابل القيم 1 و2 و3.
تعيين قيمة الإدخال = 1
إذا كانت '%inputValue%'=='1' (
صدى قيمة الإدخال تساوي 1.
) وإلا إذا كان '%inputValue%'=='2' (
صدى قيمة الإدخال تساوي 2.
) وإلا إذا كان '%inputValue%'=='3' (
صدى قيمة الإدخال تساوي 3.
) آخر (
echo قيمة الإدخال المتغيرة لا تساوي 1 أو 2 أو 3.
)
انتاج:
خاتمة
يمكن التحكم في تدفق البرنامج النصي، ويمكن أتمتة العمليات على نظام التشغيل Windows باستخدام الأوامر والحلقات والعبارات الشرطية مثل 'if'. يمكن للمطورين إيقاف تنفيذ البرنامج النصي أو إضافة تأخيرات باستخدام أمر 'الإيقاف المؤقت' باستخدام 'المهلة' أو 'ping'. على الرغم من عدم وجود عبارة 'switch' مضمنة في البرمجة النصية المجمعة، إلا أنه يمكننا محاكاتها باستخدام تعبيرات 'if' و'else if'. يعد الاختبار أمرًا بالغ الأهمية للتأكد من أن هذه البرامج النصية تعمل على النحو المنشود في السياق المناسب. تعتبر هذه البرامج النصية مفيدة للأتمتة وإدارة النظام ومعالجة الملفات.