运行 其他任务完成后 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) <=3600000]]
]
and
@Event[
@EventData[@Name='TaskSuccessEvent'][Data[@Name='TaskName']='\TaskB']
and
@System[@TimeCreated[timediff(@SystemTime) <=3600000]]
]
and
@Event[
@EventData[@Name='TaskSuccessEvent'][Data[@Name='TaskName']='\TaskC']
and
@System[@TimeCreated[timediff(@SystemTime) <=3600000]]
]
and
@Event[
@EventData[@Name='TaskSuccessEvent'][Data[@Name='TaskName']='\TaskD']
and
@System[@TimeCreated[timediff(@SystemTime) <=3600000]]
]
]
</Select>
</Query>
</QueryList>
有人能帮忙吗?
我又试了试这个,但一无所获,所以我决定用不同的方法解决这个问题。
我构建了一个简单的 C# 控制台应用程序,它将 运行 并行执行任务 A、B、C 和 D。然后可以通过 windows 调度程序上的单个任务调用此应用程序。
从那里,我可以按照我的原始 post.
中提供的链接信息,在任务 E 的调度程序中设置对上面单个调度程序任务的依赖性
如果有人确实找到了一种在调度程序本身中设置多个 "AND" 依赖项的方法,那么知道如何操作会很棒。
我在 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) <=3600000]]
]
and
@Event[
@EventData[@Name='TaskSuccessEvent'][Data[@Name='TaskName']='\TaskB']
and
@System[@TimeCreated[timediff(@SystemTime) <=3600000]]
]
and
@Event[
@EventData[@Name='TaskSuccessEvent'][Data[@Name='TaskName']='\TaskC']
and
@System[@TimeCreated[timediff(@SystemTime) <=3600000]]
]
and
@Event[
@EventData[@Name='TaskSuccessEvent'][Data[@Name='TaskName']='\TaskD']
and
@System[@TimeCreated[timediff(@SystemTime) <=3600000]]
]
]
</Select>
</Query>
</QueryList>
有人能帮忙吗?
我又试了试这个,但一无所获,所以我决定用不同的方法解决这个问题。
我构建了一个简单的 C# 控制台应用程序,它将 运行 并行执行任务 A、B、C 和 D。然后可以通过 windows 调度程序上的单个任务调用此应用程序。
从那里,我可以按照我的原始 post.
中提供的链接信息,在任务 E 的调度程序中设置对上面单个调度程序任务的依赖性如果有人确实找到了一种在调度程序本身中设置多个 "AND" 依赖项的方法,那么知道如何操作会很棒。