正如我试图在标题中解释的那样;我有一个批处理文件,它创建了 3 个进行备份的计划任务。它通过导入导出的预制任务来创建它们。我希望批处理文件创建它们,以便第一个任务运行 1。下周一。例如:第一个任务在 2013 年 11 月 4 日运行。第二个任务在一周后的 11 月 11 日运行,第三个任务在 11 月 18 日之后再运行一周。然后下周周期"重新启动"。
我知道如何将日期插入到预制任务中,但我找不到如何获得我想要的 3 个日期。
这对于批处理文件来说可能很多,但如果有人有一些想法,将不胜感激。
编辑:使用窗口 7
任务计划程序具有"每月
<Triggers>
<CalendarTrigger>
<StartBoundary>2013-10-29T07:32:13.0631789</StartBoundary>
<Enabled>true</Enabled>
<ScheduleByMonthDayOfWeek>
<Weeks>
<Week>1</Week>
</Weeks>
<DaysOfWeek>
<Monday />
</DaysOfWeek>
<Months>
<November />
</Months>
</ScheduleByMonthDayOfWeek>
</CalendarTrigger>
</Triggers>
您应该能够通过在要导入的 XML 中使用类似的东西来实现您的需求,将其他任务的<Week>1</Week>
更改为 2 和 3。
编辑
这是每三周在星期一运行的触发器代码。这将是一项重复性任务。您只需要更改每个日期的开始边界日期。
<Triggers>
<CalendarTrigger>
<StartBoundary>2013-11-01T09:24:37.1425194</StartBoundary>
<Enabled>true</Enabled>
<ScheduleByWeek>
<DaysOfWeek>
<Monday />
</DaysOfWeek>
<WeeksInterval>3</WeeksInterval>
</ScheduleByWeek>
</CalendarTrigger>
</Triggers>
如果"备份"由单个文件或目录组成,另一种选择是让备份脚本确定哪个备份是最早的,重命名它,执行备份,然后在完成后删除旧备份。
此命令将获取最旧的(上次写入时间)匹配的文件/目录,并将其保存在环境变量 BACKUP_DEST
中。您可以在备份命令中使用它。
FOR /F %%b IN ('dir /o-d /tw /b \backup_serverbackupshostname*.zip') DO SET BACKUP_DEST=%%b
这样做的一个优点是调度将大大简化。只需每周运行一次。您必须预先创建三个"空"备份(或使用已有的三个备份)。