Upraveno z článku, který jsem před lety napsal na aspfaq.com.
K naplánování souboru VBS v určitých intervalech použijte příkaz AT a Windows Scripting Host (nebo základní plánovač úloh).
Nejprve změňte ASP na soubor VBS. Toho je dosaženo (1) změnou rozšíření na VBS; (2) změna všech volání Server.CreateObject na CreateObject; a (3) odstranění všech <%%>
oddělovače a jakýkoli kód určený prohlížečem (například příkaz response.write nebo HTML na straně klienta). Nenarazil jsem na žádné další komplikace, ale YMMV.
Soubor VBS uložíte do souborového systému a pomocí příkazu AT jej naplánujete (tím se ve skutečnosti naplánuje jeho spuštění pomocí plánovací služby Windows). Na příkazovém řádku můžete použít samotný AT k zobrazení seznamu úkolů aktuálně v plánu. Můžete použít AT /? zjistit všechny jeho syntaktické možnosti.
Chcete-li například spustit soubor každý všední den v 9:00, spustím tento dávkový soubor (první řádek vymaže existující položky):
at /delete /y
at 9:00 /every:m,t,w,th,f d:\net\shared\getdata.vbs
Všimněte si, že není zapojen žádný webový server; k souboru se přistupuje přímo prostřednictvím systému souborů. Jakmile jsem se dostal přes překážky „uživatel musí být přihlášen“ a „úlohy je třeba po restartu resetovat“ (obě se domnívám, že jde o problémy s konkrétním strojem, který není pod naší kontrolou), vše běží pro mě v pohodě.
Příklad použití WSH, CDONTS a Plánovače úloh k pravidelnému odesílání e-mailů naleznete v části KB #221495 .
Pokud vše, co děláte, je práce s databází na serveru SQL Server, můžete zvážit použití úlohy. To vám umožní ponechat veškeré zpracování úlohy ve vaší databázi a zabránit komplikacím spojeným s více systémy, připojeními a přizpůsobením kódu ASP tak, aby chování nebylo podobné ASP.