我们目前在服务器2008上的Windows任务计划程序中计划了数百个任务。有许多任务每半小时无限期地运行一次。是否有任何方法可以使用脚本更改这些任务上的触发器,使它们仅在M-F每半小时运行一次?
8fsztsew1#
可以,前提是使用TaskService COM object。有关使用此对象的一些示例脚本,请参阅以下内容:
o8x7eapl2#
以下是/SC允许的选项:
/SC allows for the following frequency schedules: MINUTE: 1 - 1439 minutes. HOURLY: 1 - 23 hours. DAILY: 1 - 365 days. WEEKLY: weeks 1 - 52. (/D MON,TUE,WED,THU,FRI,SAT,SUN) ONCE: No modifiers. ONSTART: No modifiers. ONLOGON: No modifiers. ONIDLE: No modifiers. MONTHLY: 1 - 12, or FIRST, SECOND, THIRD, FOURTH, LAST, LASTDAY.**
我已经查看了计划任务,注意到您不能通过CMD更改计划。
更改任务的以下一个或多个属性。
我将继续做一些研究,希望将编辑这个答案与一个可行的解决方案。
如果你查看C:\windows\system32\tasks,你会发现你所有的计划任务,它们没有以XML的形式列出,但是它们确实是XML。我认为应该做的是使用;以下每个节点的VBS或C#应用程序摘要//任务/触发器/日历触发器以删除/ScheduleByDay及其子节点/DaysInterval//任务/触发器/日历触发器以创建以下内容:
<?xml version="1.0" encoding="UTF-16"?> -<Task xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task" version="1.2"> +<RegistrationInfo> -<Triggers> -<CalendarTrigger> <StartBoundary>2013-03-13T15:20:00</StartBoundary> <Enabled>true</Enabled> -<ScheduleByWeek> -<DaysOfWeek> <Monday/> <Tuesday/> <Wednesday/> <Thursday/> <Friday/> </DaysOfWeek> <WeeksInterval>1</WeeksInterval> </ScheduleByWeek> </CalendarTrigger> </Triggers>
如果有人能拿起并运行这个-我不认为我将能够做很多与此在未来一周。
ffvjumwh3#
我发现,如果使用SCHTASKS /Create并使用相同的/TN名称和不同的/SC和/ST选项,则会用更新的计划覆盖现有的计划任务
3条答案
按热度按时间8fsztsew1#
可以,前提是使用TaskService COM object。有关使用此对象的一些示例脚本,请参阅以下内容:
脚本:https://gist.github.com/Bill-Stewart/363fdf761499a071439c8ac0c18dcd54
在Windows XP/Server 2003之后,使用schtasks.exe实用程序相当有限。
o8x7eapl2#
以下是/SC允许的选项:
我已经查看了计划任务,注意到您不能通过CMD更改计划。
更改任务的以下一个或多个属性。
我将继续做一些研究,希望将编辑这个答案与一个可行的解决方案。
如果你查看C:\windows\system32\tasks,你会发现你所有的计划任务,它们没有以XML的形式列出,但是它们确实是XML。我认为应该做的是使用;以下每个节点的VBS或C#应用程序摘要
//任务/触发器/日历触发器以删除/ScheduleByDay及其子节点/DaysInterval//任务/触发器/日历触发器以创建以下内容:
如果有人能拿起并运行这个-我不认为我将能够做很多与此在未来一周。
ffvjumwh3#
我发现,如果使用SCHTASKS /Create并使用相同的/TN名称和不同的/SC和/ST选项,则会用更新的计划覆盖现有的计划任务