首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Windows上通过计划任务加载URL的推荐方法

在Windows上通过计划任务加载URL的推荐方法
EN

Stack Overflow用户
提问于 2010-01-01 06:33:11
回答 7查看 69.5K关注 0票数 60

我有一个托管在Windows机器上的网页,我需要确保每天至少加载一次。我目前的计划是创建一个打开Internet Explorer并点击URL的计划任务:

代码语言:javascript
复制
"C:\Program Files\Internet Explorer\iexplore.exe" myurl.com/script_to_run_daily.aspx

这很容易设置,而且工作得很好,但它给我的印象是一个黑客,因为Internet Explorer实际上必须打开并点击这个URL。我不需要从这个页面返回任何输入,它只是在命中时将缓存数据存储在文件中。

有没有更圆滑的方法来做这件事?如果重要的话,这是一个VB.net站点。

提前感谢!

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2012-08-23 05:29:10

正如Remus Rusanu所指出的那样,PowerShell将是未来的发展方向。下面是一个简单的一行程序,您可以使用它来创建计划任务,而不需要编写单独的.ps1文件:

代码语言:javascript
复制
powershell -ExecutionPolicy Bypass -Command
    Invoke-WebRequest 'http://localhost/cron.aspx' -UseBasicParsing

请注意,在所有这些命令行中添加换行符只是为了清晰起见。在尝试运行这些命令之前,请将其删除。

您可以像这样创建计划任务:(从提升的命令提示符运行此命令)

代码语言:javascript
复制
schtasks /create /tn "MyAppDailyUpdate"
    /tr "powershell -ExecutionPolicy Bypass -Command
        Invoke-WebRequest 'http://localhost/cron.aspx' -UseBasicParsing"
    /sc DAILY /ru System

以上内容适用于PowerShell 3+。如果你需要一些可以在旧版本中工作的东西,这里是一行:

代码语言:javascript
复制
powershell -ExecutionPolicy unrestricted -Command
    "(New-Object Net.WebClient).DownloadString(\"http://localhost/cron.aspx\")"

您可以像这样创建计划任务:(从提升的命令提示符)

代码语言:javascript
复制
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

票数 121
EN

Stack Overflow用户

发布于 2010-01-01 07:14:03

您可以安排一个PowerShell脚本。PS非常强大,让您可以访问整个.Net框架,以及更改。下面是一个示例:

代码语言:javascript
复制
$request = [System.Net.WebRequest]::Create("http://www.example.com")
$response = $request.GetResponse()
$response.Close()
票数 42
EN

Stack Overflow用户

发布于 2010-01-01 07:36:26

另一种选择是VB脚本。例如(另存为file.vbs):

代码语言:javascript
复制
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..."
票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1987345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档