رفع مشکل برنامه ریزی شده برای فایل .BAT اجرا نمی شود
اگر یک فایل .BAT دارید و میخواهید با استفاده از Task Scheduler در ویندوز(Windows) آن را به طور خودکار اجرا کنید، ممکن است با این مشکل مواجه شده باشید که به سادگی اجرا نمیشود مگر اینکه کار را به صورت دستی اجرا کنید.
من یک فایل دستهای ایجاد کردم که هر زمان که رایانه راهاندازی میشود، همه چیزهای داخل یک پوشه موقت را حذف میکند. من یک کار اساسی در Task Scheduler ایجاد کردم و به بهترین ها امیدوار بودم. متأسفانه وقتی کامپیوترم بوت شد هیچ اتفاقی نیفتاد. بعد از آزمون و خطای زیاد، متوجه شدم که چگونه اسکریپت را اجرا کنم.
در این مقاله، میخواهم تنظیمات و مجوزهایی را که باید تنظیم کنید تا فایل دستهای خود را بدون دخالت دستی اجرا کنید، راهنمایی میکنم.
مرحله 1: مجوزهای File/Folder
اولین قدم برای رفع این مشکل این است که اطمینان حاصل کنید حسابی که برای اجرای اسکریپت در Task Scheduler استفاده میکنید دارای مجوزهای کنترل کامل(Full Control) روی پوشه حاوی اسکریپت، خود اسکریپت و هر پوشه/فایلی که اسکریپت هنگام اجرا آن را لمس میکند، دارد.
به عنوان مثال، من اسکریپت دسته ای زیر را ایجاد کردم:
set folder="C:\test" cd /d %folder% for /F "delims=" %%i in ('dir /b') do (rmdir "%%i" /s/q || del "%%i" /s/q)
من فایل .BAT را در پوشه Documents ذخیره کردم. مسیر C:\Users\username\Documents است. من به C:\Users\username رفتم، روی پوشه Documents کلیک راست کردم و روی Properties کلیک کردم . سپس روی تب Security کلیک کردم .
همانطور که می بینید، حساب کاربری Aseem به صراحت اضافه شده است و مجوز Full Control داده شده است. اکنون باید همین کار را برای پوشه حاوی اسکریپت و برای خود اسکریپت انجام دهید. فقط فرض نکنید که اگر به پوشه حاوی اسکریپت مجوز بدهید، خوب هستید که بروید، زیرا اینطور نیست. در نهایت، مجوزها را برای فایلها و پوشههایی که اسکریپت با آنها ارتباط برقرار میکند، تنظیم کنید.
در مورد من، باید به C:\test می رفتم ، روی آن پوشه راست کلیک می کردم و حساب کاربری خود را با مجوزهای Full Control در آنجا اضافه می کردم. (Full Control)این یک جورهایی آزاردهنده است که باید این کار را انجام دهید، اما این تنها راه برای اجرای اسکریپت است.
توجه: حسابی که برای اجرای اسکریپت استفاده می شود باید بخشی از گروه محلی Administrators در رایانه باشد. در مورد من، حساب Aseem یک حساب مدیر است و بنابراین بخشی از گروه Administrators محلی است (Note: The account that is being used to run the script has to be part of the local Administrators group on the computer. In my case, the Aseem account is an administrator account and therefore part of the local Administrators group. )
مرحله 2: تنظیمات Task Scheduler را بررسی کنید(Task Scheduler Settings)
حالا بیایید به Task Scheduler(Task Scheduler) برویم و تنظیمات مربوطه را در آنجا تغییر دهیم. Task Scheduler را باز کنید و وظیفه خود را در بخش Active Tasks پیدا کنید . آنها باید به ترتیب حروف الفبا فهرست شوند.
روی آن دابل کلیک کنید و کار به تنهایی در همان پنجره باز می شود. برای ویرایش کار، باید روی آن کلیک راست کرده و Properties را انتخاب کنید .
چندین برگه وجود دارد و چند مورد را باید در اینجا بررسی و تغییر دهید. ابتدا، در تب General ، باید حساب کاربری که برای اجرای کار استفاده می شود را بررسی کنید. در مورد من، این حساب Aseem است که قبلاً در سیستم فایل به آن مجوز داده بودم و بخشی از گروه Administrators در رایانه است.
در مرحله بعد، باید گزینه Run if user is log on or not( Run whether user is logged on or not) را انتخاب کنید و در کادر Configure for Windows Vista, Windows Server 2008 را انتخاب کنید.
در تب Actions ، باید اسکریپت را انتخاب کنید، روی Edit کلیک کنید و سپس مسیر پوشه حاوی اسکریپت را در کادر Start in (اختیاری)(e Start in (optional)) اضافه کنید. این ممکن است غیر ضروری به نظر برسد، اما اینطور نیست. در مورد من، C:\Users\Aseem\Documents\ را در جعبه قرار دادم.
حالا روی OK کلیک کنید تا تنظیمات ذخیره شوند. هنگامی که این کار را انجام می دهید، ممکن است یک گفتگو ظاهر شود که در آن باید رمز عبور حساب کاربری که وظیفه را اجرا می کند وارد کنید. این یک نیاز دیگر را به همراه دارد. شما نمی توانید از حسابی استفاده کنید که رمز عبور ندارد. حساب کاربری باید رمز عبور داشته باشد تا کار اجرا شود.
در نهایت، باید یک بار در Task Scheduler کار(Task Scheduler) را به صورت دستی اجرا کنید تا مطمئن شوید که اجرا می شود. اگر بعد از تغییر همه تنظیمات به صورت دستی خوب اجرا شود، باید زمانی که قرار است فعال شود اجرا شود. در مورد من، قرار بود این اتفاق در راه اندازی بیفتد و بعد از اینکه تغییرات را انجام دادم، همه چیز خوب کار کرد.
توجه داشته باشید که اگر اسکریپت شما هنگام اجرا به رایانه های مختلف در یک دامنه دسترسی دارد، باید سعی کنید از حساب مدیر دامنه برای اجرای کار استفاده کنید. این اطمینان حاصل می کند که حساب دارای مجوزهای کافی برای دسترسی به رایانه های راه دور است.
مورد دیگری که باید به آن توجه کنید این است که اسکریپت شما به منابع موجود در اشتراک شبکه دسترسی دارد. اگر اسکریپت شما از حروف برای دسترسی به شبکه استفاده می کند، ممکن است اجرا نشود. برای مثال، به جای استفاده از F:\data\ ، باید از \\machinename\share_name\data\ Â در اسکریپت استفاده کنید. اگر هنوز نمی توانید اسکریپت خود را اجرا کنید، یک نظر در اینجا ارسال کنید و من سعی خواهم کرد کمک کنم. لذت بردن!
Related posts
خطای «نمی توان از فایل منبع یا دیسک خواند» را برطرف کنید
نحوه رفع «منابع کافی کنترلر USB» در ویندوز 10
نحوه رفع خطای «ما نتوانستیم بهروزرسانیها را تکمیل کنیم» در ویندوز
چگونه خطای «Spotify Can't Play This Now Now» را برطرف کنیم
چگونه خطای «بدون مسیر» Discord را برطرف کنیم
نحوه رفع خطای «نمی توان عنوان بازی» HBO Max را برطرف کرد
9 راه حل زمانی که چت Xbox Party کار نمی کند
رفع: «دستگاه شما با این نسخه سازگار نیست» در اندروید
نحوه رفع خطاهای فروشگاه گوگل پلی
نحوه رفع خطای «Wi-Fi Don't Have a Valid IP Configuration»
رفع «دستگاه شبکه بیسیم پشتیبانینشده شناسایی شد. خطای سیستم متوقف شد
نحوه رفع مشکل کار نکردن هات اسپات در اندروید
9 روش برای رفع خطای توقف کار Gboard در آیفون و اندروید
نحوه رفع کد خطای Hulu p-dev320
نحوه تعمیر کلیدهای صفحه کلید ویندوز که کار نمی کنند
نحوه کپی کردن متن از یک فایل PDF
نحوه رفع خطای «کامپیوتر شما دچار مشکل شد و باید راه اندازی مجدد شود».
نحوه رفع بار نشدن نظرات یوتیوب در کروم
رفع خطای «ویندوز نمیتواند با دستگاه یا منبع ارتباط برقرار کند».
نحوه رفع خطای RPC Server is Unavailable در ویندوز