计算机启动时错过的 Windows 任务运行

计算机启动时错过的 Windows 任务运行

我有一个任务,让我的电脑在晚上 8 点休眠。如果我早点让电脑休眠,然后在第二天早上打开它,任务就会运行并让电脑休眠(我不希望发生这种情况)。

我没有选择“在错过预定的启动后尽快运行任务”。取消选择该选项是否意味着,如果错过任务,它将不会运行?

答案1

如果您在任务预定开始时间之前让计算机进入休眠状态,那么当前时钟状态也会被保存(出于同步目的)。

从休眠状态恢复后,操作系统时钟将与硬件时钟重新同步(现在显示的时间和日期晚于计划任务)。我只能认为,也许这会触发计划任务运行,因为时间不会直接从 A 跳到 B,而是“向前播放”中间的间隔。

答案2

我遇到了类似的问题。(我的任务设置为在下午 5:30 运行,然后等待 15 分钟不活动后再暂停。)就我而言,只要计算机在下午 5:30 运行,它就可以正常工作每一个天。如果因为暂停而错过了任务,它会在恢复时运行该任务(是的,我还取消了“在错过预定的启动后尽快运行任务”的勾选)。然后它会在恢复后并有 15 分钟不活动状态时暂停计算机。

因此,这是我的解决方案:

  1. 编辑任务的触发器。选中“延迟任务最多:”并选择“1 分钟”
  2. 创建一个名为“kill.bat”的批处理文件

    @echo 关闭
    超时 10
    schtasks /结束/tn任务名称           # (代替任务名称以及您的任务名称。
    

    您可能需要调整超时数字。 您正在寻找的是介于 a) 恢复后操作系统时钟同步所需的时间和 b) 您延迟运行任务的时间之间的一段时间(以秒为单位)。 设置这个数字可能会变得有点奇怪,因为延迟时间是最大限度数量,而不是具体的量。尝试将此超时设置得尽可能接近操作系统时钟同步所需的时间。

  3. 创建第二个任务 – 此任务将在系统恢复时运行您刚刚创建的批处理文件。

    扳机:
        开始任务:“关于某项活动”
        日志:系统
        来源:Power-Troubleshooter
        事件 ID:1
    行动:
        选择您在步骤2中创建的批处理文件。
    

    如果配置正确,此新任务应在您添加到其配置的 1 分钟延迟期间恢复运行并终止原始任务。

相关内容