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


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

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

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

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

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

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

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 \ username ، وتم النقر بزر الماوس الأيمن على مجلد المستندات، ثم نقرت على خصائص. ثم نقرت على علامة التبويب الأمان.

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

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

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

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

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

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

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

بعد ذلك ، يجب عليك اختيار الخيار تشغيل ما إذا كان المستخدم قام بتسجيل الدخول أم لاواختيار Windows Vista و Windows Server 2008في المربع تهيئة لـ.

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

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

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

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

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

المنشورات ذات الصلة:


13.09.2017