当前位置: 首页 > 知识库问答 >
问题:

停止 Windows 任务计划程序中的重复触发器,直到第二天

龙逸清
2023-03-14

我们安排了一个 Windows 任务来启动一些自定义代码(作为可执行文件),该代码每 15 分钟检查一次文件是否存在。

如果最终找到该文件,我们的服务会对其进行一些处理。问题是:在处理文件后,业务要求任务计划程序停止这些15分钟的检查,直到第二天。

有没有办法在Windows任务调度器中插入逻辑,一旦满足某个条件就停止运行它的触发器?或者有没有更好的方法来设计这个过程?

我们正在使用 Windows 服务器 2008 R2 标准 SP1 来运行此程序

共有1个答案

范侯林
2023-03-14

如何结束计划任务:

A.要终止当前正在运行的任务(即显示在任务计划程序中的任务-

B.要阻止触发计划任务在将来运行:< br > < code > schtasks . exe/Change/TN "我的任务名"/DISABLE

C.要重新启用该任务,请执行以下操作:< br > < code > schtasks . exe/Change/TN "我的任务名称"/ENABLE

更多详细信息可通过键入:操作.exe /更改 /?

D. 要求进程终止(此处为记事本,但使用任务管理器中显示的名称 -

E.要强制终止在运行上述 D 时未终止的进程,
请执行以下操作:任务杀手.exe /F /IM 记事本.exe /T

注意:使用任务杀戮并不是结束进程的干净方式。您可以在这篇文章及其链接的文章中阅读更多内容。


如何在任务计划程序中针对您描述的情况进行设置:

而不是让您的任务运行自定义。请直接将其更改为运行脚本(例如批处理文件、PowerShell脚本、Python脚本等。)反过来:

  • 触发自定义 exe,然后
  • 测试文件是否已找到并“处理”,然后
  • 调用上面的命令 B. 以阻止它再次运行。

添加每天早上运行的第二个任务(检查“无论用户是否登录都运行”),通过调用上面的命令c重新启用计划任务。

注意:调用schtasks.exe需要提升的权限,因此将执行该命令的任务设置为“以最高权限运行”。

< br >如何检测文件已被处理:

  • 让您的自定义.exe在成功运行时添加注册表项。您的脚本可以使用例如 reg.exe(键入 REG 查询 /? 了解详细信息)查找该条目。

还有其他方法(例如,发布Windows事件,发送消息等),但是使用注册表是使用简单脚本的简单机制。

不要直接从.exe禁用任务。将应用程序及其调用分开。如果您以后要以不同的方式禁用任务,这也将使您不必重新编译

 类似资料:
  • 我已在Windows Server 2008的任务计划程序中计划每30分钟运行一次任务。在任务设置中,“如果任务运行时间超过”选项设置为“1天”。我注意到,有时任务在运行10分钟后终止。甚至随后的运行也以相同的错误终止。 “由于超时,任务停止” 手动结束并重新启动任务似乎可以解决问题。造成这种行为的原因是什么? 对于不同的任务,选项“如果运行时间超过则停止任务”设置为“4小时”,并且任务运行超过8

  • 我在我的Windows 2008 R2服务器上使用任务计划程序创建了一个任务。它会打开一个. bat文件。这个bat没有错误,工作正常。如果我开始任务(即单击运行),它会执行bat文件。从现在开始,它应该每隔x分钟重复一次(目前设置为1分钟),但它没有。我尝试了很多,几乎改变了每个属性,但它仍然不会重复执行我的bat文件。 我已经阅读了不同的问题和答案,但没有任何效果。 有人知道我做错了什么吗?

  • 我正在建立一个特定的任务。 我需要跟踪程序何时结束,制作报告并分析它。所以,我想为它创建一个时间表。 例如,我有一个名为的进程,我想在它完成作业后检查它的日志。我有文件。我只需要在完成作业并关闭后运行它。 我无法更改程序代码中的任何内容,因此我相信,任务调度程序是唯一的方法。 帮帮我求你了

  • 我有一些可执行文件要安排在Windows任务调度程序中运行。他们的输出必须在某处看到。通过Windows任务计划程序运行应用程序时,程序的输出将丢失。如何捕获此输出?我做了谷歌搜索,找到了破解方法,改为运行cmd并将输出重定向到日志文件,但我无法将这些信息很好地保存在XML文件中,我应该能够在任务调度程序中注册,因此我需要一种更好的方法。 任何帮助都将不胜感激。

  • 在Windows 7上,我如何在每天首次发生事件时触发以运行小批处理文件? 我试图启动一个小批量脚本,当我解锁我的电脑时,它只运行几秒钟,但我只希望它在我第一次解锁电脑时运行,并且在第二天12点后解锁电脑之前不会再次运行。我无法在特定时间跳跳虎,因为我解锁电脑的时间是随机的。我已经玩了几天任务调度程序,但没有成功。

  • 我以前有许多 C .exe程序(使用 C Builder XE7 开发)作为计划任务在 Windows 2008 R2 数据中心服务器中运行。这些任务由SYSTEM帐户运行,我以前从未遇到过任何问题。 我最近将这些任务导入到新的Windows 2019数据中心服务器,并在任务计划程序中设置这些任务。使用相同的系统帐户运行任务,但是使用更新的Windows服务器,这些任务现在给我的运行结果是0xC0