其他任务完成后运行Windows调度程序任务

时间:2016-06-02 13:05:02

标签: xpath scheduled-tasks eventtrigger

我在Windows任务计划程序中设置了5个任务。 任务A,B,C和D每天在同一时间并行运行。这些都运行得非常好。

我希望任务A在任务A和B以及C和D全部完成后每天运行。这是我遇到麻烦的那个。

我研究过并发现了许多有希望的链接,展示了如何设置自定义事件触发器:

running a scheduled task after another

trigger event on multiple different previous events success

custom event filter trigger is not triggering

我尝试过无数种不同的XML组合而没有成功。任务E不会被触发,也不会被连续触发。我已经尝试了这么多组合我不知道我应该在这里发布哪些(即哪些是“最接近”并且会有所帮助)。我将在下面发布1 - 如果有人需要其他变化,那么我也会发布这些。

<QueryList>
  <Query Id="0" Path="Microsoft-Windows-TaskScheduler/Operational">
    <Select Path="Microsoft-Windows-TaskScheduler/Operational">
    *[
    @Event[
        @EventData[@Name='TaskSuccessEvent'][Data[@Name='TaskName']='\TaskA']
        and 
        @System[@TimeCreated[timediff(@SystemTime) &lt;=3600000]]
         ]

        and

    @Event[
        @EventData[@Name='TaskSuccessEvent'][Data[@Name='TaskName']='\TaskB']
        and 
        @System[@TimeCreated[timediff(@SystemTime) &lt;=3600000]]
         ]

    and

    @Event[
        @EventData[@Name='TaskSuccessEvent'][Data[@Name='TaskName']='\TaskC']
        and 
        @System[@TimeCreated[timediff(@SystemTime) &lt;=3600000]]
         ]

    and

    @Event[
        @EventData[@Name='TaskSuccessEvent'][Data[@Name='TaskName']='\TaskD']
        and 
        @System[@TimeCreated[timediff(@SystemTime) &lt;=3600000]]
         ]
     ]
    </Select>
  </Query>
</QueryList>

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

我多玩了一些,并没有到达任何地方,所以我决定用不同的方法解决问题。

我构建了一个简单的C#控制台应用程序,可以并行运行任务A,B,C和D.然后,可以通过Windows调度程序上的单个任务调用此应用程序。

从那里我可以通过跟踪原始帖子中提供的链接信息,在上面的单个调度程序任务中为任务E的调度程序设置依赖关系。

如果有人想出办法设置多个&#34; AND&#34;调度程序本身的依赖关系然后知道如何。