الإعلانات

إذا قمت بالكثير من العمل في ملفات Windows الدفعية ، فإن عبارة IF يقدم طريقة قوية للغاية لإضافة المرونة إلى النصوص الخاصة بك.

ستتعرف في هذه المقالة على الأنواع الخمسة الرئيسية لعبارات IF التي يمكنك استخدامها في ملف Windows الدفعي ، وكيف يبدو بناء الجملة الصحيح ، ومثال واقعي لكل منها.

إذا كنت على استعداد لبدء البرمجة النصية ، فلنبدأ!

1. قارن القيم

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

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

لإنشاء برنامج نصي يقارن المساحة الحرة الحالية على القرص الصلب بحدك ، عليك إنشاء البرنامج النصي الدفعي التالي وحفظه كملف .bat.

@صدى خارج. تعيين DriveLimit = 300000000. for / f "usebackq delims == tokens = 2" ٪٪ x in (`wmic logicaldisk حيث" DeviceID = 'C:' "get FreeSpace / format: value`) قم بتعيين FreeSpace = ٪٪ x. Echo FreeSpace = "٪ FreeSpace٪" حد الصدى = "٪ DriveLimit٪" إذا كان٪ FreeSpace٪ GTR٪ DriveLimit٪ (صدى هناك مساحة حرة كافية. ) آخر (صدى لا توجد مساحة حرة كافية. )
instagram viewer

WMIC هو مكون Windows Management Instrumentation في Windows الذي يأتي مع مجموعة متنوعة من الأوامر التي يمكنك استخدامها لسحب معلومات الكمبيوتر. هذه هي الطريقة التي يسمي بها الأمر "wmic" في هذا البرنامج النصي مساحة "القرص المنطقي" ويضعها في متغير FreeSpace. الآن يمكنك فقط استبدال سطر "Echo Not space free space" بأمر بريد إلكتروني واضح لإرسال تنبيه إليك.

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

إذا لم تكن قد استخدمت blat من قبل ، فلدينا مقال يوضح لك كيفية انشاء بلاط. غير مألوف لكتابة وظائف مجدولة؟ لقد قمنا بتغطيتك بمقالة عن كيفية إعداد المهام المجدولة ويندوز 4 مهام مملة يمكنك أتمتة برنامج جدولة المهام لـ Windowsوقتك ثمين جدًا بحيث لا تضيع من المهام المتكررة. دعنا نريك كيفية أتمتة وجدولة المهام. لدينا بعض الأمثلة الرائعة أيضًا. اقرأ أكثر .

2. مقارنات السلسلة

آخر مقارنة IF قيمة يمكنك القيام به في وظيفة دفعة واحدة مقارنة السلاسل.

في المثال التالي سترى كيفية التحقق من إصدار Windows الخاص بك باستخدام وظيفة دفعية. ثم يمكنك مقارنة ذلك بإصدار Windows المتوقع.

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

إليك ما يبدو عليه هذا النص البرمجي.

@صدى خارج. عن / f "tokens = 4-5 delims =. تعيين "٪٪ i in ('ver') VERSION = ٪٪ i. ٪٪ j. إذا كان "٪ version٪" == "6.0" صدى لنظام التشغيل Windows Vista. إذا كان "٪ version٪" == "6.1" يردد Windows 7. إذا كان "٪ version٪" == "6.2" يردد Windows 8. إذا كان "٪ version٪" == "6.3" يردد Windows 8.1. إذا كان "٪ version٪" == "10.0" يردد Windows 10. 

إليك ما يبدو عليه ناتج هذا النص البرمجي.

ملف دفعي ، ويندوز ، برمجة

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

3. تحقق من وجود ملف

حالة مفيدة أخرى حيث عبارة IF في ملف دفعي تحقق من وجود ملف البيانات.

في كثير من الأحيان تكون مهمة الدُفعات مجرد أداة مراقبة قد يتم جدولتها للتحقق من وجود ملفات بيانات واردة جديدة في دليل محدد.

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

(لقد كتبنا في الماضي حول كيفية القيام بذلك استخدام البرامج النصية لـ Windows لمعالجة البيانات إلى ملف Excel 5 برامج نصية مفيدة لـ Windows VB لأتمتة استخدام الكمبيوترمن مراقبة موقع الويب إلى تقارير النظام ، تعرف على كيفية أتمتة جميع الأشياء باستخدام نصوص VB المذهلة التي يمكنك ترميزها في Windows الآن. اقرأ أكثر ; بعض القراءة الخلفية الجيدة.)

إن استخدام ملف دفعي للتحقق مما إذا كان الملف موجودًا في دليل ما هو أمر سريع وسهل. إليك ما يبدو عليه هذا النص.

@صدى خارج. إن وجد c: \ temp \ datafile.txt (٪ WINDIR٪ \ SysWOW64 \ cmd.exe cscript LoadToExcel.vbs. ) آخر (ملف rem غير موجود. )

مقارنة IF EXISTS مفيدة للعديد من الأشياء.

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

4. تحقق من فشل الأمر

أحد جوانب البرمجة النصية للملفات الدفعية التي يستخدمها عدد قليل جدًا من موظفي تكنولوجيا المعلومات أو المبرمجين التحقق من الأخطاء.

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

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

يمكنك القيام بذلك عن طريق استخدام المتغير٪ errorlevel٪ الذي ترجعه معظم التطبيقات والأوامر بعد تشغيلها.

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

@صدى خارج. xcopy C: \ somefolder E: \ backupfolder. إذا كانت نسبة الخطأ٪ ERRORVEL٪ NEQ 0 

لست مضطرًا لاتخاذ مسار البريد الإلكتروني. يمكنك دائمًا كتابة سجل خطأ يمكنك التحقق منه كل صباح ، أو تشغيل تطبيق أو أمر ثانٍ يحاول إجراء النسخ باستخدام أمر بديل. مهما كان الإجراء الذي تريد اتخاذه ، فإن٪ ERRORLEVEL٪ يتيح لك القيام بذلك.

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

5. تحقق من عدم وجود معلمات مفقودة

آخر عبارة IF مفيدة ليست أمرًا محددًا ، ولكن بدلاً من ذلك للتحقق من أن البرنامج النصي تلقى معلمات الإدخال المناسبة.

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

من الواضح أنه لا يمكنك تنفيذ النص البرمجي بشكل صحيح بدون المسار المحدد ، لذلك يمكنك وضع عبارة IF في بداية النص البرمجي للتأكد من إدخال المعلمتين.

إليك كيف يبدو ذلك.

@صدى خارج. IF [٪ 1] == [] ( الرسالة الفرعية لـ GOTO. ) ELSE ( xcopy٪ 1 E: \ backupfolder. ) حصلت على eof.: sub_message. صدى نسيت أن تحدد المسار الخاص بك.: eof.

إذا لم تستخدم المعلمات من قبل مع النصوص البرمجية المجمعة من قبل ، فإن رمز النسبة المئوية متبوعًا برقم يمثل متغير المعلمة. ٪ 1 هي المعلمة الأولى ، و٪ 2 هي المعلمة الثانية ، وهكذا.

يمكن أن تكون وظائف الدفعة قوية

يبدأ العديد من الأشخاص في استخدام المهام المجمعة للمهام البسيطة التي يجب تنفيذها بالتسلسل. باستخدام عبارات IF ، من الممكن إضافة المزيد من الذكاء إلى نصوصك البرمجية.

بالطبع إذا كنت ترغب حقًا في تعزيزه ، فقد تفكر في إلقاء نظرة على VBA مع دليلنا إنشاء أول تطبيق VBA، أو ربما حتى تعلم برمجة بايثون.

يمكنك غالبًا استخدام لغات برمجة أكثر تقدمًا مثل هذه ، أو تعلم كيفية استخدام PowerShell 5 أسباب يجب عليك استخدام PowerShell بدلاً من البرمجة النصية المجمعةPowerShell هو ما ستحصل عليه إذا تجاوزت موجه الأوامر باستخدام Batch Scripting ، وألقيت ببعض الميزات الإضافية ، ورفعت كل ذلك على عدة درجات. هنا عدة أسباب يجب أن تجربها. اقرأ أكثر ، لإنجاز العديد من المهام نفسها التي تستخدمها حاليًا في وظائف المجموعة.

ريان حاصل على درجة البكالوريوس في الهندسة الكهربائية. لقد عمل 13 عامًا في هندسة الأتمتة ، و 5 سنوات في مجال تكنولوجيا المعلومات ، وهو الآن مهندس تطبيقات. محرر إداري سابق لـ MakeUseOf ، وقد تحدث في المؤتمرات الوطنية حول تصور البيانات وقد ظهر في التلفزيون والإذاعة الوطنية.