Anpassad från en artikel jag skrev på aspfaq.com för flera år sedan.
Använd AT-kommandot och Windows Scripting Host (eller den mer rudimentära uppgiftsschemaläggaren) för att schemalägga en VBS-fil med vissa intervall.
Ändra först ASP till en VBS-fil. Detta åstadkommes genom att (1) ändra tillägget till VBS; (2) ändra alla Server.CreateObject-anrop till CreateObject; och, (3) ta bort alla <%%>
avgränsare och eventuell webbläsardestinerad kod (till exempel response.write-sats eller HTML-kod på klientsidan). Jag stötte inte på några ytterligare komplikationer, men YMMV.
Du lagrar VBS-filen i filsystemet och använder AT-kommandot för att schemalägga den (detta schemalägger faktiskt dess exekvering med Windowss schematjänst). Vid en kommandotolk kan du använda AT ensamt för att se en lista över uppgifter som för närvarande finns i schemat. Du kan använda AT /? för att ta reda på alla dess syntaxmöjligheter.
Till exempel, för att få en fil att köras varje vardag klockan 9:00, startar jag den här batchfilen (första raden rensar befintliga poster):
at /delete /y
at 9:00 /every:m,t,w,th,f d:\net\shared\getdata.vbs
Observera att det inte finns någon webbserver inblandad; filen nås direkt via filsystemet. När jag väl kom över hindren "en användare måste vara inloggad" och "uppgifterna måste återställas vid omstart" (som båda jag tror är problem med den specifika maskinen som inte är under vår kontroll), har allt körts funkar för mig.
För ett exempel på hur du använder WSH, CDONTS och Task Scheduler för att skicka ut e-post regelbundet, se KB #221495 .
Om allt du gör är databasarbete i SQL Server, kan du överväga att använda ett jobb. Detta gör att du kan behålla all bearbetning av jobbet i din databas och förhindra komplikationer som är förknippade med flera system, anslutningar och anpassning av ASP-kod för att vara icke-ASP-liknande i beteende.