Запуск пакетного файла с планировщиком задач Windows

У меня есть пакетный файл daily.bat, это код:

cd C:\inetpub\wwwroot\infoweb\factuur\cron
c:\PHP\php.exe -f ./cron_pdf.php
ftp -s:ftp_upload.txt ftp.site.be

И я создал задачу с планировщиком задач в Windows 7. Когда я запускаю пакет вручную, все идет хорошо, но когда я пытаюсь запустить его с планировщиком задач, ничего не происходит.

Мое действие

'run script' "C:\inetpub\wwwroot\site\x\cron\daily.bat"

UAC выключен, и я являюсь администратором.

Любая идея, почему это не работает?

Ответ 1

У меня возникла та же проблема, но я нашел другое решение, не изменяя свою партию script.

Единственное, что я пропустил, - это настройки "Действие" - "Начать (необязательно)".

Перейдите в свойства задачи → Вкладка Действие → Изменить → Заполните, как показано ниже:

  • Действие: запустите программу
  • Программа / script: путь к вашей партии script например. C:\Users\beruk\bodo.bat
  • Добавить аргументы (необязательно): < при необходимости - в зависимости от вашего script >
  • Начать (необязательно). Поместите полный путь к вашему пакетному местоположению script, например. C:\Users\beruk\ (Не ставьте кавычки вокруг Start In)

Затем нажмите OK

Это работает для меня. Удачи!

Ответ 2

Ни один из вышеперечисленных методов не работал. Я попробовал это так, как сказал это в учебнике, и это сработало.

Действие: запустите программу

Программа/script: cmd

Добавить аргументы:
/c start "" "E:\Django-1.4.1\setup.bat"

Работал для меня на Win7 Pro. У вас должна быть учетная запись с паролем (пустые пароли не подходят)

Ответ 3

Для тех, чьи файлы bat все еще не работают в планировщике задач Windows 8+, я хотел бы добавить к ответам Гази - после многих страданий:

1) В разделе "Действия" выберите "Создать ОСНОВНАЯ задача", а не "Создать задачу"

Это сделало это для меня, плюс другие проблемы, которые нельзя забыть:

  • Используйте Начать In путь к вашему пакетному файлу, хотя он говорит необязательный
  • используйте кавычки, если вам нужно, в меню "Начать программу" > "Программа/ script". "C:\Мои скрипты \runme.bat"...
  • , но НЕ используйте кавычки в поле "Начало работы". (Сумасшедший, но верный!)

Это работало без необходимости запуска командной строки.

(Извините, мой репорт слишком низок, чтобы добавить мой основной вопрос к комментариям Ghazi)

Ответ 4

Удостоверьтесь, что "Начать вход" не имеет котировок.

Ответ 5

Теперь он работает. Это то, что я сделал. Вам, вероятно, не понадобятся все эти шаги, чтобы заставить его работать, но просто для того, чтобы убедиться, что они все:

  • Проверьте параметры учетной записи запланированной задачи и убедитесь, что они настроены на запуск независимо от того, зарегистрирован ли кто-либо на компьютере

  • проверить запуск с большинством привилегий/прав

  • Убедитесь, что вы сначала переходите к полному пути: cd C:\inetpub\wwwroot\infoweb\factuur\cron

  • Не используйте двойные кавычки в ваших пакетных файлах (не знаете, почему, но, похоже, помогают)

  • Будьте супер администратора, введите "Чистый пользовательский администратор/активный: да" в командной строке, выйдите из системы и войдите в систему как супер-администратор, поэтому UAC выключен

Ответ 6

Была проблема, когда моя задача не срабатывала просто потому, что она работала на ноутбуке без шнура питания... На вкладке "Условия" по умолчанию она проверяется так, что задача не будет работать, пока питание переменного тока не будет подключено.

Ответ 7

В Windows7 Pro я обнаружил, что решение Arun работает для меня: я мог бы заставить это работать даже с "без входа пользователя", я выбрал использование самых высоких привилегий.

Из прошлого опыта у вас должна быть учетная запись с паролем (пустые пароли не подходят), и если программа не запрашивает пароль при завершении работы мастера, вернитесь и отредактируйте что-нибудь до тех пор, пока оно не будет выполнено

Это метод, если его непонятно, какая работала

Action: start a program
Program/script : cmd
      (doesn't need the .exe bit!)
Add arguments:
    /c start "" "E:\Django-1.4.1\setup.bat" 

Ответ 8

Я перепутал это в течение нескольких часов и попробовал много разных предложений.

Наконец-то я заработал, выполнив следующие действия:

Действие: Запустите программу

Программа/Script: C:\scriptdir\ script.bat

Добавить аргументы (необязательно) script.bat

Начать (необязательно): c:\scriptdir

запускается только при входе пользователя в систему

запустить с наивысшими привилегиями

настроить для: Windows Vista, Windows Server 2008

Ответ 9

Убедитесь, что "Начать ввод" НЕ заканчивается BACKSLASH.

Ответ 10

Если все остальное не удается для вас, убедитесь, что пользователь, которому вы пытаетесь запустить задачу, имеет доступ к файлу, который вы пытаетесь использовать.

В моем случае я пытался запустить пакетный файл из C:\Users\Administrator\Desktop, к которому у учетной записи не было доступа. Перемещение его в нейтральное место на C:\разрешило проблему.

Ответ 11

Пожалуйста, проверьте, какая учетная запись используется для выполнения нашей задачи. Может случиться так, что вы запускаете свою задачу с помощью другого пользователя, а затем вашего пользователя по умолчанию, и этот пользователь требует дополнительных привилегий. Также может случиться, что задача выполнена, но вы не видите никакого эффекта, потому что командный файл ждет ответа пользователя, поэтому, если вы видите, что ваш процесс запущен, проверьте диспетчер задач. Как только это произойдет, я планирую пакет с обновлением svn на некоторой веб-странице, и процесс зависает, потому что svn попросил принять сертификат сервера.

Ответ 12

  1. Не используйте двойные кавычки в вашем командном файле
  2. Убедитесь, что вы идете к полному пути начала (необязательно):
    C:\Necessary_file\Reqular_task\QDE\cmd_practice\

enter image description here

Ответ 13

Используя кнопку "Запуск" в главном окне планировщика заданий, чтобы проверить несколько вариантов, наконец, были найдены правильные настройки. Эти два варианта должны быть объединены: -Run только при входе пользователя в систему -Run с высокими привилегиями. Все остальные варианты не удались. Это бесит все время тратится на это, но, по крайней мере, это работает. ОС: WINDOWS 8 CORE (ОСНОВНАЯ) ВЕРСИЯ

Ответ 14

Попробуйте выполнить задачу с высокими привилегиями.

поместите a\в конец пути в "start in folder", например c:\temp\

Я не знаю почему, но иногда это работает для меня.