我正在使用任务计划程序来执行自动化任务,特别是使用 Python。但我意识到,如果我的计算机在任务执行期间关闭,则下次运行时间会自动设置为下一个日期,而不会出现错误,因为任务未运行。
例如,我安排了每周的任务,假设任务将在 2021 年 2 月 29 日 20:00 执行。但是,如果我的电脑此时关闭,则下次运行时间自动变为 2021 年 3 月 7 日。基本上,2021 年 2 月 29 日不会发生任何执行。上次运行时间显示为前一周的执行时间。
我已标记“在错过预定的启动后尽快运行任务”,但它不起作用。因为没有错过任何计划!
如果我的电脑是打开的,任务计划程序就可以正常工作。我想我遗漏了一些东西,但我没有找到它。
答案1
任务计划程序没有这样的选项,所以请自行决定。
在每周作业结束时添加一条命令,该命令将写入一个标志文件,其日期将标记作业成功运行的时间,例如:
echo abc >"C:\switch\switch.txt"
然后添加另一个计划每天运行(或登录后)的任务,该任务将删除超过 10 天的标志文件,然后测试它是否仍然存在:
cd /d "C:\switch"
forfiles /m "switch.txt" /d -10 /c "cmd /c del @path"
if exist "C:\switch\switch.txt" (
echo automated job was not skipped
) else (
echo job skipped - running automated job
)