我有一个在“用户会话登录”上触发的任务。我现在想要限制该任务仅在工作日触发,并在周末被忽略。
这可能吗?
旁注:我无法使用触发器on schedule
,因为我不想定期运行任务,只能在登录上运行,而且只能在工作日运行。
答案 0 :(得分: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
。那就是它!