无需在循环中通过CMD打开浏览器即可运行URL

时间:2017-03-09 16:02:14

标签: windows cmd

我希望能够有效地运行"通过命令行每分钟更新一次网站的URL。这是可能的,如果可以,我该怎么办?

我不希望这个命令打开浏览器,所以" start"不管用。我只是希望它每分钟运行一次相同的URL。

1 个答案:

答案 0 :(得分:0)

如果您使用的是Windows 7或更高版本,则可以在shell中访问PowerShell。现在,尽管使用curlwget等命令实用程序可能会有更高效的解决方案。您只需在批处理文件中执行以下操作:

:: Use the Out-Null under if you want to suppress output from server response
echo Updating server...
powershell -NoProfile "irm <YOUR_URL here> | Out-Null"

完整的实现可能看起来像

@echo off

:PingServer
  echo Updating Server...
  call powershell -NoProfile "irm <YOUR_URL here> | Out-Null"
  ping localhost -n 60 -w 1000 > NUL
goto PingServer

注意: Ping用作基于second的睡眠机制,因为timeout / sleep不是适用于所有Windows环境。

完整的PowerShell方法可能如下所示:

$URL = "<your url>"

# Update the server, and additional processing if you'd want
function Update-Server {
    Write-Host "Updating the server..."
    irm $URL | Out-Null
}

# While loop to update server, then sleep 1 minute
while(1) {Update-Server;sleep 60}