【问题标题】:run a windows scheduler task once other tasks have finished其他任务完成后运行 Windows 调度程序任务
【发布时间】:2016-10-02 05:49:06
【问题描述】:

我在 Windows 任务调度程序中设置了 5 个任务。 任务 A、B、C 和 D 每天在同一时间并行运行。这些都运行得很好。

一旦任务 A 和 B 以及 C 和 D 全部完成,我希望任务 E 每天运行。这是我遇到的麻烦。

我研究并发现了一些很有前途的链接,这些链接展示了如何设置自定义事件触发器:

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>

谁能帮忙?

【问题讨论】:

    标签: xpath scheduled-tasks eventtrigger


    【解决方案1】:

    我又玩了一些,但没有成功,所以我决定用不同的方法解决这个问题。

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

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

    如果有人确实想出了一种在调度程序本身中设置多个“AND”依赖项的方法,那么知道如何做就太好了。

    【讨论】:

      猜你喜欢
      • 2015-04-09
      • 2014-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-10
      • 1970-01-01
      • 1970-01-01
      • 2015-08-17
      相关资源
      最近更新 更多