调用后关闭浏览器

时间:2015-05-01 16:47:51

标签: batch-file

我有一系列批处理文件在Windows服务器上执行某些操作,然后调用一个web url,在数据库上注册操作已完成以及何时完成。

我像这样调用网络文件 Start "http://the_url"

它工作正常,但我注意到浏览器在后台进程中仍然存在,但是如果我与用户一起登录,则没有打开的浏览器窗口。

我可以在同一个批处理文件中关闭浏览器吗?有一种更好的方式来调用网址吗?

3 个答案:

答案 0 :(得分:4)

使用WMIC启动流程以获取其pid:

@echo off
for /f "skip=5 tokens=2 delims==; " %%a in ('wmic process call create "chrome.exe url" ') do (
    set "pid=%%a"
    goto :break
)
:break
echo %pid%
taskkill /pid %pid% /f

可能更好的方法是在没有浏览器的情况下直接执行webrequest。 检查能够执行多种http请求的winhttpjs.bat

答案 1 :(得分:2)

您将需要浏览器的进程ID才能将其终止。如果在执行Start命令时另一个浏览器已打开,则可能会出现问题。但是,可以通过迭代tasklist的输出this answer来实现。获得此进程ID(PID)后,可以调用taskkill来结束它。

答案 2 :(得分:0)

您可以只使用Powershell命令,而不是启动浏览器,例如:

powershell Invoke-WebRequest -Uri "http://the_url/"

如果在URL上执行GET是唯一需要的,那么这应该可以解决问题。