1

我在 Windows 任务计划程序中安排了一些任务。我安装了一个名为 Bmail 的第三方工具,它添加了一个从任务调度程序独立发送电子邮件的任务。它可以在给定的时间触发。有谁知道如何进行设置,以便 Bmail 任务在运行原始任务时发送电子邮件?如何在任务计划程序中链接两个不同的任务并让一个触发另一个?

4

2 回答 2

2

对不起,如果这被认为是旧线程的复活。但我想自己回答这个问题,所以我先来这里。

你可以让它们菊花链。在第一个任务之后,安排第二个任务在第一个任务完成时创建的事件上触发。这里解释得有点乱,https://blogs.msdn.microsoft.com/davethompson/2011/10/25/running-a-scheduled-task-after-another/

通过添加此触发器并触发 Ping 事件,Ping 任务会在 Ping 完成后立即触发。现在是一个重用此 XPath 的简单案例,将这里的任务名称 \Ping 替换为要运行的任务:

*[EventData[@Name='TaskSuccessEvent'][Data[@Name='TaskName']='\Ping']]

如果你想要更多的控制权,你可以像上面链接的博客中的评论员之一那样做。

我进一步添加了条件“仅当前一个任务以退出代码 0 完成时才执行任务”。

为了做到这一点,“动作完成”事件比“任务完成”事件要好。这个“动作完成”事件的事件数据元素包含一个名为“ResultCode”的子元素,这正是我们正在寻找的!

所以 xPath 是: *[EventData[@Name='ActionSuccess'][Data[@Name='TaskName']='Ping'][Data[@Name='ResultCode']='0']]

当我自己工作时,我会更多地更新这篇文章。

于 2016-11-05T02:19:29.253 回答
0

您可以编写一个脚本来模拟 Bmail 任务正在做什么(例如运行 exe 等),然后更改 Bmail 任务以运行您刚刚编写的那个脚本。

从那里更改原始任务以调用相同的脚本,这样,如果 Bmail 更改了它们的运行方式,您可以更新这两个任务,而只需更改脚本。

于 2011-09-26T13:59:04.053 回答