Запускайте задачу каждые x минут с помощью планировщика задач Windows [закрыто]

297

Я пытаюсь заставить Windows Task Scheduler запускать определенный .exe-файл каждые 10 минут или около того, но параметры позволяют выполнять только один раз в день.

Есть ли способ заставить его запускать .exe каждые 10 или 20 минут?

kacalapy
источник
6
Как не интуитивно понятно, как в Windows Server 2008, вы можете ввести число в раскрывающемся списке «Повторять задачу каждый» в диалоговом окне «Редактировать триггер». Я также оставил ссылку в записи MorningZ ниже.
Дэвид Йейтс
4
Google дает несколько ответов , в том числе от Microsoft .
Phrogz

Ответы:

395

Задача должна быть настроена в два этапа.

Сначала вы создаете простое задание, которое начинается в 0:00 каждый день. Затем вы входите Advanced...(или аналогично в зависимости от используемой операционной системы) и выбираете Repeat every X minutesопцию на 24 часа.

Ключевым моментом здесь является поиск дополнительных свойств. Если вы используете мастер XP, он предложит вам запустить расширенный диалог только после создания задачи.

На более поздних версиях Windows (7+, я думаю?):

  1. Дважды щелкните задачу, и появится окно свойств.
  2. Нажмите на Triggersвкладку.
  3. Дважды щелкните сведения о триггере, и откроется окно «Редактировать триггер».
  4. Под Advanced settingsпанелью отметьте Repeat task everyxxx минут и установите, Indefinitelyесли вам нужно.
  5. Наконец, нажмите ОК.
Coincoin
источник
39
Проблема с этим решением заключается в том, что если вы перезагрузитесь в 0:05, задание не начнет повторяться до 23:55 позже!
JoshuaDavid
7
Небольшое отклонение - установить 24 задания, каждое из которых повторяется в течение 1 часа. Тогда вы никогда не потеряете больше часа освещения
Yablargo
101
@FireCoding нет, если вы задали задачу для запуска, как только пропущен запланированный запуск. Под Задачей> Свойства> Настройки> ПроверитьRun task as soon as possible after a scheduled start is missed
Urda
4
@Urda: допустим, вы поставили задачу на 0:00 и повторяли ее каждый час. Если вы включите компьютер в 06:00, а опция включена Run task as soon as possible after..., будет ли запущен один или шесть экземпляров команды?
Андреас Рейбранд
7
@AndreasRejbrand If this setting is checked, the Task Scheduler service will start the task if the task was scheduled to run at a certain time, but for some reason (for example, the computer was turned off or the Task Scheduler service was busy) the task was not activated. The Task Scheduler service will not start the task immediately after the task was missed. By default the service waits ten minutes before starting the missed task.Таким образом, он должен просто запустить 1 экземпляр задачи, а не весь журнал невыполненных работ .
Урда
44

После того, как вы выбрали опцию минимального повтора (5 минут или 10 минут), вы можете выделить номер и написать любой номер, который вы хотите

Дурим Синани
источник
Это то, что работает на Server 2012, так как нет опции «Advanced». Ключом к этим платформам является понимание того, что вы можете указать все, что вам нравится в поле.
решает
8
далеко ... 0 из 10 за открываемость в дизайне пользовательского интерфейса Microsoft!
Дэмиен Сойер
хорошо знать, очень хорошо знать :) Но больше нет возможности опускаться до секунд, не так ли? 1 минута меньше всего? Я хотел бы перейти на 30 или даже 10 секунд ...
BAERUS
1
Это комментарий, а не ответ.
Лев Натан
3
@LeoNatan На самом деле это был именно тот ответ, который я искал, когда прогуливался в этом посте :-)
Джони Адамит,
33

Вы также можете создать командный файл, как показано ниже, если вам нужна более тонкая гранулярность между вызовами:

:loop
CallYour.Exe
timeout /t timeToWaitBetweenCallsInSeconds /nobreak
goto :loop
Кевин Ли
источник
3
В моем случае это было самое элегантное решение, поскольку рассматриваемая задача уже была запущена из командного файла. Так что это просто вопрос добавления нескольких строк. Спасибо!
marlar
1
Мне нравится это решение. Но как вы гарантируете, что этот командный файл всегда работает (и только один его экземпляр)?
Оливье Ольбаум Шерлер
Это способ сделать это да, но планировщик задач это путь. Просто используйте опцию «После запуска» вместо конкретной даты, и вы покрыты.
Якоб Штернберг
У меня есть всякие проблемы с настройкой задачи для запуска каждый час. Итак, мне нравится это решение, чтобы зациклить его и дать ему спать в течение 1 часа и зациклить работу. Просто нужно выяснить, как работает время с ежедневной работой и вызывает ли почасовая работа проблему каждые 24 часа.
Вс
23

В поле «Повторять задачу каждые:» просто введите 2 минуты вместо выбора из выпадающего списка.

Хенрик
источник
2
Спасибо. Это именно то, что я искал. Минимально допустимое время на Win 2008 R2 составляет 1 минуту.
Тимоти К. Куинн
19

На XP я нажал Advancedкнопку на Scheduleвкладке. Есть флажок для Repeat task. По умолчанию каждые 10 минут.

Кроме того, вы можете создать запланированное задание через командную строку . Я не пробовал это сам, но похоже, что вы хотите что-то вроде (не проверено):

schtasks /create /tn "Some task name" /tr "app.exe" /sc HOURLY 
Кортни Кристенсен
источник
я запутался по поводу вариантов до. я устанавливаю его повторение каждые 5 минут, скажем, затем я вынужден выбрать радиокнопку под этим ... что мне вводить, если я хочу, чтобы ti запускался каждые 5 минут каждый день и не останавливался.
Какалапы
Хорошо ты прав Это сбивает с толку. Видимо, вы можете создать его через командную строку. Может быть, это стоит попробовать. Я обновил пост со ссылкой, которую нашел.
Кортни Кристенсен
19

Почасовой пример задачи

Принимая приведенные выше рекомендации со счётными задачами, вы можете увидеть в пользовательском интерфейсе, что нужно сделать для выполнения почасовой задачи. Когда вы редактируете триггер, начинайте задание по расписанию, один раз (это ключ). Затем вы можете выбрать «Повторять задание каждые: 1 час» или как вам угодно. Смотрите скриншот:

Майк Куш
источник
1
А используя SCHTASKS /Create?
Kiquenet
8

Чтобы запланировать автоматическое обновление, вам необходимо:

  • Перейти к панели управления »Администрирование» Запланированные задачи
  • Создать (базовое) задание
  • Перейти к расписанию »Дополнительно
  • Установите флажок «Повторять задачу» каждые 10 минут, например, 24 часа или неопределенно
  • Не указывать дату окончания

Если вы не можете найти настройки расписания, посмотрите: Свойства, Изменить, Триггеры.

Дэвид
источник
3

Некоторые из приведенных ссылок являются настройками только для версии «Запланированные задачи» для Windows 2003

В Windows Server 2008 в настройке «Задачи» есть только поле с параметрами «5 минут, 10 минут, 15 минут, 30 минут и 1 час» (снимок экрана: http://i46.tinypic.com/2gwx7r8.jpg ) ... где в Windows 2003 было текстовое поле «введите любой номер».

Я думал сделать «Экспорт» и редактировать XML из: PT30M в PT2M

и импортирование этого как нового задания «обмануло бы» повторение задач каждые 2 минуты, но это не понравилось

Мой обходной путь для выполнения задачи каждые 2 минуты в Windows 2008 состоял в том, чтобы (ugggh) настроить 30 различных «триггеров» для моей задачи, повторяющейся каждый час, но начиная с: 00,: 02,: 04,: 06 и т. Д. И т. Д. на .... у меня ушло 8-10 минут на настройку, но мне пришлось сделать это только один раз :-)

MorningZ
источник
12
Как бы интуитивно это ни было, вы можете ввести число в раскрывающемся списке
Дэвид Йейтс,