如何将Windows任务限制为仅限工作日?

时间:2016-05-04 10:07:08

标签: windows windows-scheduler

我有一个在“用户会话登录”上触发的任务。我现在想要限制该任务仅在工作日触发,并在周末被忽略。

这可能吗?

旁注:我无法使用触发器on schedule,因为我不想定期运行任务,只能在登录上运行,而且只能在工作日运行。

2 个答案:

答案 0 :(得分:2)

  1. 单击每周一次(不是每天一次)
  2. 选择想要的日子

答案 1 :(得分:1)

据我所知,单独使用任务调度程序是不可能的。

您可以使用一段VBScript来实现此目的。

设置文件,例如mytask.vbs,就像这样:

If DatePart("w", Date, vbMonday) < 6 Then
    Set Shell = CreateObject("WScript.Shell")
    WScript.Quit(Shell.Run("C:\Windows\System32\notepad.exe", 10, True))
End If

用您实际想要运行的任务替换记事本。这样做的目的是:它检查当天是否是Mo-Fr(这是通过将星期开始指定为星期一来完成的,因此DatePart将返回从1 =星期一到7 =星期日的值,然后我们正在检查它是否低于6),如果是,则运行某个程序,等待它完成并转发其退出代码。 (此处的幻数10表示它将遵循任务调度程序(如果有)传递窗口显示(正常,最大化,最小化)的任何设置,并将其转发给程序。)

然后,您可以创建仅具有登录触发器的计划任务,该任务运行wscript.exe /e:vbscript c:\path\to\your\mytask.vbs。那就是它!