我注意到您只能在 Windows(Windows Server 2003)上的计划任务 GUI 中将月份中的日期设置为正数 1..31。
是否可以仅在最后的是该月的哪一天?(这不是一个固定的日期数字,例如,在二月它可能是该月的第 28 或 29 天,而在其他月份它可能是第 30 或 31 天。)
相关问题,如果我将任务设置为每月 31 号运行,那么它实际上会在天数较少的月份运行吗?或者在这种情况下它会在下个月 1 号运行吗?
答案1
使用创建任务调度任务命令带有/mo LASTDAY
选项:
调度任务安排命令和程序定期或在特定时间运行。在计划中添加和删除任务、按需启动和停止任务以及显示和更改计划任务。
句法:
schtasks /create /tn 任务名称 /tr 任务运行 /sc 计划 [/mo 修改器] [/d 天] [/m 月[,月...] [/i 空闲时间] [/st 开始时间] [/sd 开始日期] [/ed 结束日期] [/s 计算机 [/u [域\]用户/p 密码]] [/ru {[Domain\]用户 | "System"} [/rp 密码]] /?
答案2
答案3
不确定 GUI 是否本身支持它,但您可以提前让任务启动 vbs 脚本或其他东西。例如:
sub LastDateOfCurMonth() dim lstDateCurMonth, fstDateCurMonth, fstDateNxtMonth fstDateCurMonth="01/" & Month(date) & "/" & Year(Date) fstDateNxtMonth=DateAdd("m",1,fstDateCurMonth) lstDateCurMonth=DateAdd("d",-1,fstDateNxtMonth) wscript.echo "当前月份的最后一天是: " & lstDateCurMonth End Sub
答案4
为同一任务设置多个计划。一个计划针对 31 日结束的月份,一个计划针对 30 日结束的月份,另一个计划针对 28 日结束的月份。您所要做的就是为每个任务指定一个唯一的名称。