每 20 分钟运行一次脚本

发布于 2024-10-14 21:55:21 字数 1539 浏览 6 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

梦亿 2024-10-21 21:55:21

您在 Windows 上尝试过任务计划程序吗? (大多数 Windows 版本都内置了)
这取决于您的Windows版本,但是如果您设置了高级任务,您可以让它每x分钟运行一次

Have you tried Task Scheduler on windows? (it's built-in most of windows versions)
It depends on your windows version, but if you set up an advanced task, you can make it run every x minutes

抹茶夏天i‖ 2024-10-21 21:55:21


autoit 帮助中的 AdlibRegister 函数

see
AdlibRegister function in autoit help

赏烟花じ飞满天 2024-10-21 21:55:21

好吧,实际上你也可以使用 autoit 以多种方式做到这一点......
我不知道“不睡觉”是否意味着您不想让程序保持打开状态。如果是这样,您可以编写自己的 autoit 程序,每 20 分钟运行一次 .exe autoit 脚本。

或者您可以通过检查系统时钟在自己的脚本中完成此操作。

Well actually you can do this in various ways with autoit too...
I don't know if with "no sleep" you mean you don't want to keep the program open. If so, you can write your own autoit program to run your .exe autoit script every 20 mins.

Or you can do it in your own script by checking the system clock.

迟到的我 2024-10-21 21:55:21

使用 _Timer_SetTimer() 设置您想要的计时器,无需 Sleep()

Use _Timer_SetTimer() to set a timer you want without Sleep().

日暮斜阳 2024-10-21 21:55:21

如果您希望脚本持续运行,Sleep() 非常重要。您可以执行以下操作来获得 20 分钟的等待时间:

While 1
$timer = TimerInit()
Do
    If TimerDiff($timer) > 1200000 Then
        MsgBox (0,"Timer Alert","The timer has hit 20 minutes!")
    EndIf
Until TimerDiff ($timer) > 1200000
WEnd

如果根本不使用 Sleep(),它将消耗大量 CPU,因为它会尽可能快地检查计时器。另外,当第一个 IF 检查时,您有很小的机会处于 1199999 毫秒,而当它评估 Until 时,您很有可能处于 1200001 毫秒,并且它会跳过该消息。

最好的办法是让脚本执行任何操作,然后使用 Windows 任务计划程序每 20 分钟运行一次。虽然我查了一下,每20分钟没有一个选项。

Sleep() is important if you want the script to be running constantly. You can do something like this to get a 20 minute wait:

While 1
$timer = TimerInit()
Do
    If TimerDiff($timer) > 1200000 Then
        MsgBox (0,"Timer Alert","The timer has hit 20 minutes!")
    EndIf
Until TimerDiff ($timer) > 1200000
WEnd

Without Sleep() at all, it's going to be eating up a good amount of CPU since it's checking the timer as fast as it possibly can. Plus, you run a very small chance being at 1199999 ms when the first IF checks, and being at 1200001 when it evaluates the Until and it would skip the message.

Your best bet is to just make your script do whatever, then use Windows Task Scheduler to run every 20 minutes. Though when I checked, there's no option for every 20 minutes.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文