我有许多每天运行的计划任务。根据它们的计划时间,它们应该在 Windows 早上启动后立即运行。但是,这些任务直到 Windows 启动后 10 分钟才运行。一个例子是计划在 12:00am 运行的任务。如果我在晚上 11:30 关闭 PC,则该任务应该在 Windows 于第二天早上 8:00 完成启动后立即运行。
我的所有任务最终都会运行,但某些原因导致它们延迟了 10 分钟之久。我希望它们在 Windows 启动后立即运行。
根据评论,发布该任务的配置 XML:
<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<RegistrationInfo>
<Date>2016-12-04T15:46:45.9954241</Date>
<Author>redacted-PC\redacted</Author>
</RegistrationInfo>
<Triggers>
<CalendarTrigger>
<Repetition>
<Interval>PT12H</Interval>
<Duration>P1D</Duration>
<StopAtDurationEnd>false</StopAtDurationEnd>
</Repetition>
<StartBoundary>2016-12-04T00:00:00</StartBoundary>
<Enabled>true</Enabled>
<ScheduleByDay>
<DaysInterval>1</DaysInterval>
</ScheduleByDay>
</CalendarTrigger>
</Triggers>
<Principals>
<Principal id="Author">
<UserId>redacted-PC\redacted</UserId>
<LogonType>Password</LogonType>
<RunLevel>HighestAvailable</RunLevel>
</Principal>
</Principals>
<Settings>
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
<DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
<StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
<AllowHardTerminate>true</AllowHardTerminate>
<StartWhenAvailable>true</StartWhenAvailable>
<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
<IdleSettings>
<StopOnIdleEnd>true</StopOnIdleEnd>
<RestartOnIdle>false</RestartOnIdle>
</IdleSettings>
<AllowStartOnDemand>true</AllowStartOnDemand>
<Enabled>true</Enabled>
<Hidden>true</Hidden>
<RunOnlyIfIdle>false</RunOnlyIfIdle>
<WakeToRun>false</WakeToRun>
<ExecutionTimeLimit>P3D</ExecutionTimeLimit>
<Priority>7</Priority>
</Settings>
<Actions Context="Author">
<Exec>
<Command>"C:\Program Files\redacted\redacted.exe"</Command>
<WorkingDirectory>C:\Program Files\redacted</WorkingDirectory>
</Exec>
</Actions>
</Task>
答案1
在 Windows 中配置计划任务时,任务计划程序 UI 中的其中一个“设置”标记为:
错过预定的启动时间后尽快运行任务
将任务配置导出为 XML 时,相同的设置定义为:
开始时间
此属性的 Microsoft 文档说明:
在预定时间过后启动的任务(因为 StartWhenAvailable 属性设置为 True)将排在任务计划程序服务的任务队列中,并在延迟后启动。默认延迟为 10 分钟。
MissedTasksStartupDelay
要重新定义这 10 分钟的延迟时间,可以修改注册表项下的 DWORD 值: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\Configuration
。默认值为600
秒(10 分钟),但可以更改。
任务计划程序服务下次启动时(下次启动时),任何定义了此选项的任务都将在更新后启动。