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

run a windows scheduler task once other tasks have finished

我在 windows 任务计划程序中设置了 5 个任务。 任务 A、B、C 和 D 运行 每天在同一时间并行进行。这些都运行绝对没问题。

我希望任务 E 每天在任务 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 要么不被触发,要么不断被触发。我尝试了很多组合,我不确定我应该在此处 post 哪些(即哪些是 "closest" 并且会有所帮助)。我将在下面 post 1 - 如果有人需要其他变体,那么我也会 post 那些。

<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>

有人能帮忙吗?

我又试了试这个,但一无所获,所以我决定用不同的方法解决这个问题。

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

从那里,我可以按照我的原始 post.

中提供的链接信息,在任务 E 的调度程序中设置对上面单个调度程序任务的依赖性

如果有人确实找到了一种在调度程序本身中设置多个 "AND" 依赖项的方法,那么知道如何操作会很棒。