每日触发器示例 (XML)

此示例中的 XML 定义了一个每天上午 8:00 启动记事本的任务。 该示例还演示如何为触发器设置重复模式以重复执行任务。

若要注册 XML 中定义的任务,您可以使用 ITaskFolder::RegisterTask 函数(TaskFolder.RegisterTask 编写脚本)或 Schtasks.exe 命令行工具。 如果使用 Schtasks.exe 工具(位于 C:\Windows\System32 目录中),则可以使用以下命令注册任务:schtasks /create /XML<> 路径,该文件包含任务定义 /tn < 任务名称>

定义一个任务,用于每天上午 8:00 启动记事本

以下 XML 示例定义启动记事本并在本地管理员帐户下运行的任务。 该任务使用设置为上午 8:00 的每日日历触发器,并包括控制任务计划程序处理任务方式的其他设置。

<?xml version="1.0" ?>
<!--
This sample schedules a task to start on a daily basis.
-->
<Task xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
    <RegistrationInfo>
        <Date>2005-10-11T13:21:17-08:00</Date>
        <Author>AuthorName</Author>
        <Version>1.0.0</Version>
        <Description>Notepad starts every day.</Description>
    </RegistrationInfo>
    <Triggers>
        <CalendarTrigger>
            <StartBoundary>2005-10-11T13:21:17-08:00</StartBoundary>
            <EndBoundary>2006-01-01T00:00:00-08:00</EndBoundary>
            <Repetition>
                <Interval>PT1M</Interval>
                <Duration>PT4M</Duration>
            </Repetition>
            <ScheduleByDay>
                <DaysInterval>1</DaysInterval>
            </ScheduleByDay>
        </CalendarTrigger>
    </Triggers>
    <Principals>
        <Principal>
            <UserId>.\Administrator</UserId>
            <LogonType>InteractiveToken</LogonType>
        </Principal>
    </Principals>
    <Settings>
        <Enabled>true</Enabled>
        <AllowStartOnDemand>true</AllowStartOnDemand>
        <AllowHardTerminate>true</AllowHardTerminate>
    </Settings>
    <Actions>
        <Exec>
            <Command>notepad.exe</Command>
        </Exec>
    </Actions>
</Task>

TaskScheduler 架构元素

下面是使用此示例时要牢记的一些重要元素。

  • RegistrationInfo

    包含有关任务的注册信息。

  • 触发器

    定义启动任务的触发器。

  • CalendarTrigger

    定义每日日历触发器。 在这种情况下,会用到四个子元素:用于指定何时激活和停用触发器的开始边界和结束边界、每日计划以及任务的重复模式。 StartBoundary 元素是日历触发器的必需元素。

  • ScheduleByDay

    定义每日计划。 在这种情况下,时间间隔设置为每天执行一次该任务。

  • 主体:定义任务运行的安全上下文。

  • 设置

    定义任务计划程序执行任务时所使用的设置。

  • 操作

    定义任务执行的操作(在本例中,运行记事本)。

使用任务计划程序