让服务器每天自动运行asp脚本

Beh*_*ens 3 batch-file asp-classic sql-server-2008 windows-server-2008

是否可以创建一个批处理文件,打开firefox,运行一个网站,然后再次关闭Firefox?

就像是:

@echo off
start firefox http://.....
Run Code Online (Sandbox Code Playgroud)

这是我被卡住的地方......它需要在网站加载完成后再次关闭firefix.

它用于每晚23:59运行维护脚本.该脚本是基于本地的,但是如果不使用服务器就无法运行asp文件,因此我将其作为网站放置.

Aar*_*and 6

改编自我几年前在aspfaq.com上写的一篇文章.

使用AT命令和Windows Scripting Host(或更基本的任务调度程序)以特定间隔计划VBS文件.   

首先,将ASP更改为VBS文件.这是通过(1)将扩展名改为VBS来实现的; (2)将所有Server.CreateObject调用更改为CreateObject; 并且,(3)删除所有<%%>分隔符和任何浏览器目标代码(例如,response.write语句或客户端HTML).我没有遇到任何进一步的并发症,但是YMMV.   

您将VBS文件存储在文件系统中,并使用AT命令对其进行计划(这实际上是使用Windows的计划服务来计划其执行).在命令提示符下,您可以单独使用AT查看当前计划中的任务列表.你可以使用AT /?找出它的所有语法可能性. 

例如,要在每个工作日上午9:00运行文件,我会启动此批处理文件(第一行清除现有条目):     

at /delete /y 
at 9:00 /every:m,t,w,th,f d:\net\shared\getdata.vbs      
Run Code Online (Sandbox Code Playgroud)

请注意,没有涉及Web服务器; 该文件直接通过文件系统访问.一旦我克服了"用户必须登录"和"重新启动时必须重置任务"的障碍(我认为两者都是我们无法控制的特定机器的问题),所有都已经运行对于我来说足够了. 

有关使用WSH,CDONTS和任务计划程序定期发送电子邮件的示例,请参阅KB#221495

如果您所做的只是SQL Server中的数据库工作,您可以考虑使用作业.这将允许您在数据库中保留作业的所有处理,并防止与多个系统,连接和调整ASP代码相关的复杂性在行为中与非ASP类似.