2015-05-01 115 views
2

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

我这样调用 Start "http://the_url"

它正常工作的网络文件,但我注意到,浏览器在后台进程持续下去,但如果我与用户登录没有打开浏览器窗口。

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

回答

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。 检查winhttpjs.bat它能够执行各种类型的http请求。

2

您将需要浏览器的进程ID来杀死它。如果在执行Start命令时另一个浏览器已经打开,这可能会出现问题。但是,可以通过迭代tasklist的输出,如this answer。一旦你有这个进程ID(PID),你可以拨打taskkill来结束它。

0

而是打开浏览器,你也许可以只使用一个PowerShell命令,例如:

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

如果对URL进行GET是唯一需要的东西,这应该做的伎俩。