【问题标题】:Windows Task Scheduler trigger on event, but only once a dayWindows 任务计划程序触发事件,但每天只触发一次
【发布时间】:2014-02-14 20:48:17
【问题描述】:

在 Windows 7 上,如何在每天第一次发生事件时触发以运行小批处理文件?

我正在尝试启动一个小批量脚本,该脚本在我解锁我的电脑时只运行几秒钟,但我只希望它在我第一次解锁我的电脑时运行,并且在我解锁我的电脑之前再也不会运行次日12点以后。我无法确定特定时间,因为我解锁 PC 的时间是随机的。我已经玩了几天任务调度程序但没有成功。

【问题讨论】:

    标签: scheduled-tasks


    【解决方案1】:

    您可以让脚本在第一次运行时设置一个状态,以防止它再次运行,例如通过立即退出而不是在设置状态时执行任何操作。 然后设置一个在登录时触发以执行所述脚本的任务和另一个在每天上午 12 点运行的任务以取消设置/删除脚本设置的状态。这应该会给你想要的效果。

    更好的解决方案是让脚本停用(例如通过 schtasks)由登录触发的任务调用它,并让 12AM 任务每天重新启动一次登录触发的任务。

    【讨论】:

      【解决方案2】:

      我刚刚遇到了同样的问题,所以这是我在不知道太多脚本的情况下的解决方法:

      我创建了 4 个 .bat 文件,基本上包含以下内容。

      1. 启动应用程序,然后将 bat-file1 替换为 bat-file2
      2. 什么都不做
      3. 用 bat-file4 替换 bat-file1
      4. 启动应用程序,然后将 bat-file1 替换为 bat-file2

      现在我创建了计划任务: 第一个每天上午 12 点运行并运行批处理文件 3。因此,它将 bat-file1 替换为 bat-file4。 第二个在每次解锁计算机后运行并运行批处理文件1。

      正如您所看到的,它完全符合您的要求,尽管它可能有点复杂...... 在您第一次解锁时,它会启动您想要的脚本并用一个虚拟文件替换自己(批处理文件只包含单词exit)。在每次以下解锁之后,除了几乎不明显的 cmd 弹出窗口之外什么都没有发生。 在上午 12 点,虚拟文件​​再次被初始批处理文件替换,以便在第二天早上提供您的任务。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-04-23
        • 2013-03-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-19
        • 1970-01-01
        • 2017-01-30
        相关资源
        最近更新 更多