Если вы не возражаете запачкать руки небольшим csharp, вот URL с приложением оболочки, которое является службой Windows. Он устанавливает таймер, который запускает пакетный файл (т. Е. Ваш скрипт) каждые столько секунд. Будет работать, только если ваш сценарий выполняет задачу, а затем завершается. (Пометка как вики сообщества, так как это не мой код. Я копирую весь код здесь на случай, если связанный сайт умрет в будущем)
http://www.akchauhan.com/create-windows-service-to-schedule-php-script-execution/
Вот код, упомянутый в связанной статье.
C # за услугу:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.Timers;
namespace MyNewService
{
public partial class MyNewService : ServiceBase
{
private Timer syncTimer = null;
public MyNewService()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
syncTimer = new Timer();
this.syncTimer.Interval = 180000;
this.syncTimer.Elapsed += new System.Timers.ElapsedEventHandler(this.syncTimer_Tick);
syncTimer.Enabled = true;
}
protected override void OnStop()
{
syncTimer.Enabled = false;
}
private void syncTimer_Tick(object sender, EventArgs e)
{
System.Diagnostics.Process.Start(@"C:\xampp\htdocs\task.bat");
}
}
}
Необходимый пакетный файл:
@echo off
cd\
set path=C:\xampp\php;
cd "C:\xampp\htdocs"
php import.php
exit