哪些 SCHTASKS 参数控制设置“如果任务运行了小时”?

哪些 SCHTASKS 参数控制设置“如果任务运行了小时”?

我在编写脚本以自动创建 Windows 中的计划任务时遇到问题。

经过大量 Google 搜索后,我无法推断出命令行实用程序 SCHTASKS.EXE 的哪些参数控制“如果任务运行数小时则停止该任务”设置。

答案1

我无法告诉您使用 schtasks 可以自动执行此操作。但是,可以在 powershell 中完成。

一旦您使用 schtasks 创建任务(您可以在 powershell 中执行),您就可以使用如下代码来更新执行时间限制:

$task = Get-ScheduledTask "MyTaskName"
$task.Settings #Optional to see what is going on
$task.Settings.ExecutionTimeLimit = "PT0S"
$task.Settings #Optional to see how it changed
Set-ScheduledTask $task

关键是了解 PT0S 设置。P3D 是默认的 3 天。PT0S 取消选中该选项并允许任务永远运行。如果您想要在特定持续时间内得到明确的答案,请使用 UI 在任务中按照您想要的方式设置选项,然后导出任务。如果您查看生成的 XML 文件,您可以看到 ExecutionTimeLimit 的设置。

答案2

最好的选择可能是/DU 开关。

/DU 持续时间

指定运行任务的持续时间的值。时间格式为 HH:mm(24 小时制)。例如,14:50 指定 2:50PM。这不适用于 /ET 和以下计划类型:ONSTART、ONLOGON、ONIDLE 和 ONEVENT。对于 /V1 任务(任务计划程序 1.0 任务),如果指定了 /RI,则持续时间默认值为 1 小时。

Windows XP:此选项不可用。

引自MSDN。为什么这些信息没有出现在schtasks 的 TechNet 库页面超出了我的能力范围。

相关内容