Запустить пакетный файл с помощью планировщика задач Windows - PullRequest
131 голосов
/ 14 декабря 2010

У меня есть пакетный файл 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 выключен, и я являюсь администратором.

Есть идеи, почему это не работает?

Ответы [ 14 ]

242 голосов
/ 01 ноября 2012

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

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

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

  1. Действие : запустить программу
  2. Программа / сценарий : путь к пакетному сценарию, например C:\Users\beruk\bodo.bat
  3. Добавление аргументов (необязательно) :
  4. Начать с (необязательно) : Укажите полный путь к местоположению вашего пакетного сценария, например C:\Users\beruk\ (Не ставьте кавычки вокруг начала)

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

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

44 голосов
/ 21 ноября 2014

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

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

Программа / скрипт: cmd

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

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

37 голосов
/ 16 марта 2015

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

1) В разделе «Действия» выберите «Создать БЕЙСИК задача», а не «Создать задачу»

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

  1. Используйте путь Start In к вашему пакетному файлу, даже если он говорит необязательно
  2. используйте кавычки, если вам нужно, в вашей Пуск программы> запись программы / скрипта, т.е. "C: \ my scripts \ runme.bat" ...
  3. НО НЕ используйте кавычки в поле «Начать в». (Безумно, но правда!)

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

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

20 голосов
/ 19 июня 2014

Убедитесь, что "Start In" не имеет котировок.

7 голосов
/ 14 декабря 2010

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

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

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

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

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

  • Будьте супер администратором, введите 'Net user administrator / active: yes' в командной строке, выйдите и войдите в систему как супер администратор, чтобы UAC был выключен

5 голосов
/ 10 мая 2016

Возникла проблема, из-за которой моя задача не срабатывала просто потому, что она работала на ноутбуке без шнура питания ... На вкладке условий по умолчанию установлен флажок, чтобы задача не запускалась, пока не подключено питание переменного тока. .

3 голосов
/ 25 мая 2016

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

Я наконец заставил его работать следующим образом:

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

Программа / скрипт: C: \ scriptdir \ script.bat

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

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

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

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

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

3 голосов
/ 22 сентября 2015

Под Windows7 Pro я обнаружил, что решение Аруна работает для меня: я мог заставить его работать даже без «входа в систему», я решил использовать самые высокие привилегии.

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

Это метод, если неясно, что сработало

Action: start a program
Program/script : cmd
      (doesn't need the .exe bit!)
Add arguments:
    /c start "" "E:\Django-1.4.1\setup.bat" 
2 голосов
/ 11 июля 2016

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

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

2 голосов
/ 26 июня 2015

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

...