如何使用schtasks.exe安排一个月的多天任务?

由于任务调度程序API已经在Vista和Server 2008之后发生了变化,所以使用schtasks调度任务(就我所知)是在Windows 2003 Server和Windows 2008 Server上都能正常工作的唯一方法。

我需要创build一个任务,每个月的第5天和第20天运行。 这可能与schtasks.exe?

创build计划任务将在每周日和星期一运行,具体如下:

schtasks /create /tn test /tr "cmd.exe" /sc weekly /d mon,sun

但是同样的方面,下面的任何一个都不起作用。

schtasks /create /tn test /tr "cmd.exe" /sc monthly /d 5,15

schtasks /create /tn test /tr "cmd.exe" /sc monthly /d "5 15"

有任何想法吗?

安排两个月的任务。 一个为第五,一个为第十五。

您可以使用XML文件创build任务:

 schtasks /Create /XML xmlfile 

(见文档 )。

XML应该包含一个<ScheduleByMonth>部分:

 <ScheduleByMonth> <DaysOfMonth> <Day>5</Day> <Day>15</Day> </DaysOfMonth> ... 

您可以使用任务计划程序的GUI版本创buildXML文件。 使用“导出”function。 这是一个示例文件:

 <?xml version="1.0" encoding="UTF-16"?> <Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task"> <RegistrationInfo> <Date>2010-01-21T13:24:17.7449831</Date> <Author>DOMAIN\Username</Author> </RegistrationInfo> <Triggers> <CalendarTrigger> <StartBoundary>2010-01-21T13:23:34.4046495</StartBoundary> <Enabled>true</Enabled> <ScheduleByMonth> <DaysOfMonth> <Day>5</Day> <Day>15</Day> </DaysOfMonth> <Months> <January /> <February /> <March /> <April /> <May /> <June /> <July /> <August /> <September /> <October /> <November /> <December /> </Months> </ScheduleByMonth> </CalendarTrigger> </Triggers> <Principals> <Principal id="Author"> <UserId>DOMAIN\Username</UserId> <LogonType>InteractiveToken</LogonType> <RunLevel>LeastPrivilege</RunLevel> </Principal> </Principals> <Settings> <IdleSettings> <Duration>PT10M</Duration> <WaitTimeout>PT1H</WaitTimeout> <StopOnIdleEnd>true</StopOnIdleEnd> <RestartOnIdle>false</RestartOnIdle> </IdleSettings> <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy> <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries> <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries> <AllowHardTerminate>true</AllowHardTerminate> <StartWhenAvailable>false</StartWhenAvailable> <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable> <AllowStartOnDemand>true</AllowStartOnDemand> <Enabled>true</Enabled> <Hidden>false</Hidden> <RunOnlyIfIdle>false</RunOnlyIfIdle> <WakeToRun>false</WakeToRun> <ExecutionTimeLimit>P3D</ExecutionTimeLimit> <Priority>7</Priority> </Settings> <Actions Context="Author"> <ShowMessage> <Title>Test Message</Title> <Body>TThis is a test task message.</Body> </ShowMessage> </Actions> </Task>