موصى به, 2021

اختيار المحرر

لا تعمل إصلاح مهمة مجدولة لملف .BAT

إذا كان لديك ملف .BAT وكنت تحاول تشغيله تلقائيًا باستخدام برنامج جدولة المهام في نظام التشغيل Windows ، فقد تكون واجهت المشكلة حيث لا يتم تشغيلها ببساطة ما لم تقم بتشغيل المهمة يدويًا.

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

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

الخطوة 1: تحقق من أذونات ملف / مجلد

الخطوة الأولى لإصلاح هذه المشكلة هي التأكد من أن الحساب الذي تستخدمه لتشغيل البرنامج النصي في Task Scheduler لديه أذونات التحكم الكامل في المجلد الذي يحتوي على البرنامج النصي ، البرنامج النصي نفسه ، وأي مجلدات / ملفات يلمسها البرنامج النصي عند تشغيله.

على سبيل المثال ، لقد قمت بإنشاء البرنامج النصي الدفعي التالي أدناه:

 set folder = "C: \ test" cd / d٪ folder٪ for / F "delims =" ٪٪ i in ('dir / b') do (rmdir "٪٪ i" / s / q || del "٪ ٪ i "/ s / q) 

لقد قمت بحفظ ملف .BAT إلى مجلد المستندات. المسار هو C: \ Users \ username \ Documents . ذهبت إلى C: \ Users \ اسم المستخدم ، انقر بزر الماوس الأيمن على مجلد المستندات ، وانقر على خصائص . ثم نقرت على علامة التبويب أمان .

كما ترى ، تمت إضافة حساب المستخدم Aseem بشكل صريح ومنحه إذن "التحكم الكامل" . الآن عليك القيام بنفس الشيء للمجلد الذي يحتوي على البرنامج النصي وللبرنامج النصي نفسه. لا تفترض فقط أنك إذا أعطيت أذونات للمجلد الذي يحتوي على النص البرمجي ، فأنت على ما يرام ، لأنك لست كذلك. أخيرًا ، عيّن الأذونات على أي ملفات ومجلدات يتفاعل معها النص البرمجي.

في حالتي ، اضطررت للذهاب إلى C: \ test ، انقر بزر الماوس الأيمن على هذا المجلد وأضف حساب المستخدم الخاص بي هناك بأذونات التحكم الكامل. من المثير للضيق أنه يجب عليك القيام بذلك ، ولكنها الطريقة الوحيدة لتشغيل البرنامج النصي.

ملاحظة : يجب أن يكون الحساب الذي يتم استخدامه لتشغيل البرنامج النصي جزءًا من مجموعة المسؤولين المحليين على جهاز الكمبيوتر. في حالتي ، حساب Aseem هو حساب مسؤول ، وبالتالي جزء من مجموعة المسؤولين المحليين.

الخطوة 2: تحقق من إعدادات جدولة المهام

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

انقر نقرا مزدوجا فوقه وسوف يفتح المهمة بنفسه في نفس النافذة. لتحرير المهمة ، سيكون عليك النقر بزر الماوس الأيمن عليها واختيار " خصائص" .

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

بعد ذلك ، يجب عليك اختيار الخيار Run سواء قام المستخدم بتسجيل الدخول أو عدمه واختر Windows Vista و Windows Server 2008 في المربع Configure for .

في علامة التبويب " إجراءات" ، يجب عليك تحديد البرنامج النصي ، والنقر فوق تحرير ، ثم إضافة المسار إلى المجلد الذي يحتوي على البرنامج النصي في مربع البدء في (اختياري) . قد يبدو هذا غير ضروري ، لكنه ليس كذلك. في حالتي ، وضعت في C: \ Users \ Aseem \ Documents \ في المربع.

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

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

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

عنصر آخر يجب ملاحظته هو إذا كان البرنامج النصي يصل إلى الموارد الموجودة على مشاركة شبكة. إذا كان البرنامج النصي الخاص بك يستخدم رسائل للوصول إلى الشبكة ، فقد لا يتم تشغيله. على سبيل المثال ، بدلاً من استخدام F: \ data \ ، يجب استخدام \\ machinename \ share_name \ data \ في البرنامج النصي. إذا لم تتمكن من تشغيل النص البرمجي حتى الآن ، فقم بإرسال تعليق هنا وسأحاول تقديم المساعدة. استمتع!

Top