Рекомендуємо, 2024

Вибір Редакції

Виправлення запланованої задачі не виконується для файлу .BAT

Якщо у вас є .BAT-файл, і ви намагаєтеся змусити його запустити автоматично за допомогою планувальника завдань у Windows, ви могли б зіткнутися з проблемою, де вона просто не працює, якщо ви не запускаєте завдання вручну.

Я створив пакетний файл, який видаляє все, що знаходиться в папці temp, коли комп'ютер запускається. Я створив основне завдання в планувальнику завдань і сподівався на краще. На жаль, під час завантаження комп'ютера нічого не сталося. Після багато проб і помилок, я зрозумів, як запустити скрипт.

У цій статті, я збираюся пройти через налаштування та дозволи, які потрібно налаштувати, щоб запустити пакетний файл без ручного втручання.

Крок 1: Перевірте права доступу до файлів / папок

Перший крок у вирішенні цієї проблеми полягає в тому, щоб обліковий запис, який ви використовуєте для запуску сценарію в планувальнику завдань, містив права на повний контроль над папкою, що містить сценарій, сам сценарій і будь-які папки / файли, які скрипт зачіпає під час виконання.

Наприклад, нижче створено такий сценарій:

 set folder = "C: тест" cd / d%% для / F "delims =" %% i в ('dir / b') робити (rmdir "%% i" / s / q || del "% % i "/ s / q) 

Файл .BAT збережений у папці "Документи". Шлях до C: Користувач ім'я користувача Документи . Я перейшов до розділу C: Користувач, натиснувши правою кнопкою миші на папку Документи, і натиснувши Властивості . Потім я натиснув на вкладці Безпека .

Як ви бачите, обліковий запис користувача Aseem був явно доданий і отримав дозвіл на повний контроль . Тепер ви повинні зробити те ж саме для папки, яка містить сценарій і сам сценарій. Не припускайте, що якщо ви надаєте дозвіл на папку, що містить сценарій, вам добре йти, тому що ні. Нарешті, встановіть дозволи на будь-які файли та папки, з якими буде взаємодіяти сценарій.

У моєму випадку мені довелося перейти до C: test, клацнути правою кнопкою миші на цій папці і додати свій обліковий запис користувача з дозволами повного контролю. Це трохи дратує, що ви повинні зробити це, але це єдиний спосіб отримати скрипт для запуску.

Примітка . Обліковий запис, який використовується для запуску сценарію, повинен бути частиною локальної групи адміністраторів на комп'ютері. У моєму випадку обліковий запис Aseem є обліковим записом адміністратора і тому є частиною локальної групи адміністраторів.

Крок 2. Перевірте параметри планувальника завдань

Тепер перейдемо до планувальника завдань і змінимо відповідні параметри. Відкрийте Планувальник завдань і знайдіть своє завдання в розділі Активні завдання . Вони повинні бути перераховані в алфавітному порядку.

Двічі клацніть на ньому і він відкриє завдання самостійно в тому ж вікні. Щоб відредагувати завдання, потрібно клацнути на ньому правою кнопкою миші та вибрати " Властивості" .

Є кілька вкладок і кілька речей, які потрібно перевірити і змінити тут. По-перше, на вкладці Загальні потрібно перевірити обліковий запис користувача, який використовується для виконання завдання. У моєму випадку це обліковий запис Aseem, який я надав раніше до файлової системи, і який є частиною групи адміністраторів на комп'ютері.

Далі потрібно вибрати параметр Виконати, чи користувач увійшов у систему або не, і виберіть у вікні Налаштувати для Windows Vista, Windows Server 2008 .

На вкладці Дії потрібно вибрати сценарій, натиснути кнопку Редагувати, а потім додати до шляху до папки, що містить скрипт, у полі Start in (необов'язково) . Це може здатися непотрібним, але це не так. У моєму випадку, я ставлю на C: Користувачі Aseem Документи у вікні.

Тепер натисніть OK, щоб зберегти налаштування. Після цього можна відкрити діалогове вікно, у якому потрібно ввести пароль для облікового запису користувача, який буде виконувати завдання. Це викликає ще одну вимогу. Не можна використовувати обліковий запис, у якому немає пароля. Обліковий запис користувача повинен мати пароль для виконання завдання.

Нарешті, ви повинні запустити завдання вручну один раз у планувальнику завдань, щоб переконатися, що він працює. Якщо він працює нормально вручну після того, як ви змінили всі налаштування, то він повинен працювати, коли він повинен бути запущений. У моєму випадку, це повинно було відбутися під час запуску і після того, як я зробив зміни, все працювало нормально.

Зауважте, що якщо ваш сценарій здійснює доступ до різних комп'ютерів домену, спробуйте скористатися обліковим записом адміністратора домену для запуску завдання. Це забезпечить достатньо дозволів для доступу до віддалених комп'ютерів.

Іншим пунктом, який слід відзначити, є доступ до ресурсів у мережній папці. Якщо скрипт використовує літери для доступу до мережі, він не може працювати. Наприклад, замість використання F: даних, вам слід скористатися: \ t Якщо ви все ще не можете запустити сценарій, опублікуйте тут коментар, і я спробую допомогти. Насолоджуйтесь!

Top