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

у меня есть пакетный файл ежедневно.летучая мышь, это код:

cd C:inetpubwwwrootinfowebfactuurcron
c:PHPphp.exe -f ./cron_pdf.php
ftp -s:ftp_upload.txt ftp.site.be

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

мой действия

'run script' "C:inetpubwwwrootsitexcrondaily.bat"

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

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

14 ответов


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

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

перейдите на вкладку Свойства задачи --> действие -- > изменить -- > заполнить, как показано ниже:

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

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

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


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

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

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

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

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


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

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

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

  1. использовать В Начало путь к пакетному файлу, даже если он говорит необязательно
  2. использовать котировки, если вам нужно, в вашем запуске программа > запись программы / скрипта i.e "C:\my скрипты\runme.летучая мышь. "..
  3. но не используйте кавычки в вашем старте в поле. (Невероятно, но факт!)

это работало без необходимости запускать командную строку.

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


убедится "Start In" нет цитат.


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

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

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

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

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

  • будьте супер-администратором, введите "net user administrator / active:yes" в командной строке, выйдите из системы и войдите в систему как супер-администратор, поэтому UAC выключен


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


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

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

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

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

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

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

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

Программа / Скрипт: C:\scriptdir\script - ... летучая мышь!--1-->

добавить аргументы (необязательно скрипт).летучая мышь!--1-->

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

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

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

настройка для: Windows Vista, Windows Server 2008


убедится "Start In" не заканчивается обратной косой чертой.


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

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


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


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

enter image description here


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


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

поставить \ в конце пути в "начать в папку", такие как\c:\temp

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