返回

如何每 4 小时在 Windows 中运行脚本?

windows

在 Windows 中使用任务计划程序每 4 小时运行脚本

作为一名经验丰富的程序员,我经常需要安排任务在特定的时间或间隔内运行。任务计划程序 是 Windows 中一个强大的工具,可以帮助我实现这一目标。虽然它提供了按小时和按天的选项,但它并不直接支持每 4 小时运行一次任务。

然而,不用担心,我已经开发了几种变通方法来解决这个问题。

方法 1:创建多个任务

一种方法是创建多个任务,每个任务在一天中的不同时间运行。例如,我可以创建三个任务,分别在早上 6 点、中午 12 点和晚上 6 点运行。这样,我的脚本将每 4 小时运行一次,因为其中一个任务将在当天中的每个 4 小时间隔内运行。

方法 2:使用 VBScript

对于更复杂的安排,我更喜欢使用 VBScript 来创建任务。VBScript 是一种脚本语言,可以与任务计划程序配合使用。以下是使用 VBScript 的步骤:

  1. 创建 .vbs 文件: 将以下代码粘贴到记事本或任何文本编辑器中,然后另存为 .vbs 文件:
Option Explicit

Dim objShell
Dim objTask
Dim objTrigger

Set objShell = CreateObject("WScript.Shell")
Set objTask = objShell.CreateObject("WScript.Task")

objTask.RegistrationInfo.Description = "Run PHP script every 4 hours"
objTask.RegistrationInfo.Author = "Your Name"

Set objTrigger = objTask.Triggers.Create(0)
objTrigger.StartBoundary = Now + 240 * 60  ' Current time plus 240 minutes
objTrigger.Repetition.Interval = "00:04:00"  ' 4 hour interval
objTrigger.Repetition.Duration = "00:00:00"  ' No end time
objTrigger.Enabled = True

objTask.Settings.Enabled = True
objTask.Save "C:\path\to\taskfile.job"  ' Replace with the desired path and filename
  1. 配置任务计划程序: 在任务计划程序中,创建新任务并浏览到 .vbs 文件。在触发器选项卡中,选中“按计划”,然后配置触发器以在所需的时间运行。

其他注意事项

  • 计算机状态: 任务计划程序的可靠性取决于计算机的状态。如果计算机关闭或休眠,任务将无法按计划运行。
  • 脚本接受参数: 请确保 PHP 脚本可以接受命令行参数。
  • 网络访问: 如果脚本需要访问网络资源,请确保任务计划程序具有必要的权限。

结论

通过这些方法,你可以轻松地在 Windows 中每 4 小时运行一次脚本。根据你的特定需求,选择最适合你的方法,并享受自动化任务带来的便利。

常见问题解答

  1. 任务是否会在计算机休眠时运行?
    • 否,任务计划程序无法在计算机休眠时运行任务。
  2. 脚本是否可以使用相对路径?
    • 否,脚本必须使用绝对路径。
  3. 如何更改任务的运行间隔?
    • 使用 VBScript 方法,可以在代码中修改 objTrigger.Repetition.Interval 设置。
  4. 任务会无限期地运行吗?
    • 是的,VBScript 方法创建的任务会无限期地运行,直到手动禁用或删除。
  5. 如何同时运行多个脚本?
    • 创建多个任务,每个任务运行不同的脚本。