使用Windows Task Scheduler每隔X分钟运行一次任务[关闭]


297

我正在尝试让Windows Task Scheduler每10分钟左右运行一个特定的.exe,但是这些选项每天只允许执行一次。

有没有办法让我每隔10或20分钟运行一次.exe?


6
与Windows Server 2008中的情况一样,您可以在“编辑触发器”对话框的“每个重复任务”下拉框中键入数字。我还在下面的MorningZ条目中留下了链接
大卫·耶茨

4
谷歌给出了几个 答案,包括微软的答案
Phrogz 2013年

Answers:


395

必须分两个步骤配置任务。

首先,您创建一个简单的任务,每天从0:00开始。然后,您进入Advanced...(或类似操作,具体取决于所使用的操作系统)并选择Repeat every X minutes24小时选项。

这里的关键是找到高级属性。如果使用的是XP向导,则仅在创建任务后才提供启动高级对话框的功能。

在Windows的最新版本(我认为是7+)上:

  1. 双击任务,将显示一个属性窗口。
  2. 单击Triggers选项卡。
  3. 双击触发器详细信息,将显示“编辑触发器”窗口。
  4. Advanced settings面板下,勾选Repeat task everyxxx分钟,然后Indefinitely根据需要进行设置。
  5. 最后,单击“确定”。

39
该解决方案的问题在于,如果您在0:05重启,则该任务直到23:55之后才会开始重复!
JoshuaDavid

7
稍有不同,将设置24个任务,每个任务重复1小时。那么您永远不会损失超过一个小时的覆盖时间
Yablargo 2011年

101
@FireCoding如果您已将任务设置为错过计划的开始就立即运行,则不会。在“任务”>“属性”>“设置”>“检查”下Run task as soon as possible after a scheduled start is missed
Urda 2012年

4
@Urda:假设您将任务设置为从0:00开始,并每小时重复一次。如果您在06:00打开计算机的电源,并且该选项Run task as soon as possible after...已打开,它将运行该命令的一六个实例吗?
Andreas Rejbrand

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个实例,而不是整个待办事项。
Urda

44

选择最小重复次数(5分钟或10分钟)后,您可以突出显示该数字并写下所需的任何数字


这是在Server 2012上可以使用的功能,因为没有“高级”选项。这些平台上的关键是要认识到,您可以在框中指定所需的内容。
2015年

8
远...在UI设计中,可发现性中有10之0 Microsoft!
Damien Sawyer

很好知道,很好知道:)但是没有进一步的可能降到秒,是吗?最少1分钟?我想花30甚至10秒...
BAERUS

1
这是评论,不是答案。
Leo Natan

3
@LeoNatan实际上,这是我漫步到这篇文章时一直在寻找的确切答案:-)
Jony Adamit

33

如果您需要两次调用之间更细的粒度,也可以创建如下所示的批处理文件:

:loop
CallYour.Exe
timeout /t timeToWaitBetweenCallsInSeconds /nobreak
goto :loop

3
在我的情况下,这是最优雅的解决方案,因为相关任务已从批处理文件启动。因此,只需添加几行即可。谢谢!
marlar '16

1
我喜欢这个解决方案。但是,如何确保该批处理文件始终运行(并且仅运行其中一个实例)?
奥利维尔·奥尔巴姆·谢勒(Olivier'Ölbaum)Scherler,2017年

是的,这是一种方法,但是Task Scheduler是可行的方法。只需使用“启动后”选项,而不是指定日期,就可以了。
雅各布·斯特恩伯格

将任务配置为每小时运行时,我遇到各种各样的问题。因此,我喜欢这种解决方案来循环它,让它休眠1小时并循环工作。只需弄清楚时间安排如何与日常工作配合,以及每小时的任务是否每24小时就会引起问题。
太阳

23

在“每隔重复任务:”中,键入2分钟,而不是从下拉列表中进行选择。


2
谢谢。这正是我想要的。Win 2008 R2允许的最短时间为1分钟。
蒂莫西·奎因

19

在XP上,我单击AdvancedSchedule选项卡上的按钮。有一个复选框Repeat task。默认值为每10分钟。

另外,您可以通过命令行创建计划任务。我自己还没有尝试过,但是看起来您想要一些类似的东西(未经测试):

schtasks /create /tn "Some task name" /tr "app.exe" /sc HOURLY 

我对直到选项感到困惑。我将其设置为每5分钟重复一次,让我说,然后我被迫选择一个单选按钮...如果我希望ti每天每5分钟运行一次而不停止,我应该输入什么。
kacalapy

好吧,你是对的。这很令人困惑。显然,您可以通过命令行创建一个。也许值得一试。我用找到的链接更新了帖子。
Courtney Christensen

18

每小时任务示例

在采用schtasks采取上述建议的同时,您可以在UI中看到执行每小时任务必须执行的操作。当您编辑触发器时,请按时间表开始任务,一次(这是关键)。然后,您可以选择“每隔1个小时重复一次任务”或1小时。看截图:


1
并使用SCHTASKS /Create
Kiquenet '18 -10-2

8

要将更新安排为自动进行,您应该:

  • 转到控制面板»管理工具»预定任务
  • 创建(基本)任务
  • 前往时间表»进阶
  • 每隔10分钟(例如24小时或无限期)选中“重复任务”框
  • 保留结束日期未选中

如果找不到“日程表”设置,请在“属性”,“编辑”,“触发器”下查看。


3

提供的某些链接只是 Windows 2003版本的“计划任务”的设置

在Windows Server 2008中,“任务”安装程序只有一个带有“ 5分钟,10分钟,15分钟,30分钟和1小时”选项的框(屏幕截图:http : //i46.tinypic.com/2gwx7r8.jpg)...,其中Window 2003是“输入所需的任何数字”文本框。

我想做一个“导出”并将XML从PT30M修改为PT2M

并将其作为新任务导入会“欺骗”任务,使其每2分钟重复一次,但并不喜欢

我要让任务在Windows 2008中每2分钟运行一次的解决方法是(ugggh)为我的任务每小时重复设置30个不同的“触发器”,但盯着:00,:02,:04,:06等。在...上。我花了8-10分钟进行设置,但我只需要做一次:-)


12
尽管不直观,您实际上可以在Windows Server 2008下拉列表中键入数字:social.technet.microsoft.com/Forums/en-US/winserverManagement/…–
David Yates
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.