我有一个托管在Windows机器上的网页,我需要确保每天至少加载一次。我目前的计划是创建一个打开Internet Explorer并点击URL的计划任务:
"C:\Program Files\Internet Explorer\iexplore.exe" myurl.com/script_to_run_daily.aspx
这很容易设置,而且工作得很好,但它给我的印象是一个黑客,因为Internet Explorer实际上必须打开并点击这个URL。我不需要从这个页面返回任何输入,它只是在命中时将缓存数据存储在文件中。
有没有更圆滑的方法来做这件事?如果重要的话,这是一个VB.net站点。
提前感谢!
发布于 2012-08-23 05:29:10
正如Remus Rusanu所指出的那样,PowerShell将是未来的发展方向。下面是一个简单的一行程序,您可以使用它来创建计划任务,而不需要编写单独的.ps1文件:
powershell -ExecutionPolicy Bypass -Command
Invoke-WebRequest 'http://localhost/cron.aspx' -UseBasicParsing
请注意,在所有这些命令行中添加换行符只是为了清晰起见。在尝试运行这些命令之前,请将其删除。
您可以像这样创建计划任务:(从提升的命令提示符运行此命令)
schtasks /create /tn "MyAppDailyUpdate"
/tr "powershell -ExecutionPolicy Bypass -Command
Invoke-WebRequest 'http://localhost/cron.aspx' -UseBasicParsing"
/sc DAILY /ru System
以上内容适用于PowerShell 3+。如果你需要一些可以在旧版本中工作的东西,这里是一行:
powershell -ExecutionPolicy unrestricted -Command
"(New-Object Net.WebClient).DownloadString(\"http://localhost/cron.aspx\")"
您可以像这样创建计划任务:(从提升的命令提示符)
schtasks /create /tn "MyAppDailyUpdate"
/tr "powershell -ExecutionPolicy unrestricted -Command
\"(New-Object Net.WebClient).DownloadString(\\\"http://localhost/cron.aspx\\\")\""
/sc DAILY /ru System
schtasks
示例将任务设置为每天运行-有关更多选项,请参阅schtasks documentation。
发布于 2010-01-01 07:14:03
您可以安排一个PowerShell脚本。PS非常强大,让您可以访问整个.Net框架,以及更改。下面是一个示例:
$request = [System.Net.WebRequest]::Create("http://www.example.com")
$response = $request.GetResponse()
$response.Close()
发布于 2010-01-01 07:36:26
另一种选择是VB脚本。例如(另存为file.vbs):
sSrcUrl = "http://yourdomain.com/yourfile.aspx"
sDestFolder = "C:\yourfolder\"
sImageFile = "filename.txt"
set oHTTP = WScript.CreateObject("MSXML2.ServerXMLHTTP")
oHTTP.open "GET", sSrcUrl, False
oHTTP.send ""
set oStream = createobject("adodb.stream")
Const adTypeBinary = 1
Const adSaveCreateOverWrite = 2
oStream.type = adTypeBinary
oStream.open
oStream.write oHTTP.responseBody
oStream.savetofile sDestFolder & sImageFile, adSaveCreateOverWrite
set oStream = nothing
set oHTTP = nothing
WScript.Echo "Done..."
https://stackoverflow.com/questions/1987345
复制相似问题