是否可以使用 taskmgr 在每月最后一天运行任务?

是否可以使用 taskmgr 在每月最后一天运行任务?

我注意到您只能在 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

您可以在用户界面中执行此操作。创建任务触发器时,monthly从单选列表中选择。然后,Months选择<Select all months>Days选择Last

选择所有月份

选择最后一个

答案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 日结束的月份。您所要做的就是为每个任务指定一个唯一的名称。

相关内容