我有一系列批处理文件在Windows服务器上执行一些操作,然后调用一个在数据库上注册的web url,该操作已完成以及何时完成。调用它后关闭浏览器
我这样调用 Start "http://the_url"
它正常工作的网络文件,但我注意到,浏览器在后台进程持续下去,但如果我与用户登录没有打开浏览器窗口。
何我可以在同一个批处理文件中关闭浏览器吗?有更好的方法来调用一个网址?
我有一系列批处理文件在Windows服务器上执行一些操作,然后调用一个在数据库上注册的web url,该操作已完成以及何时完成。调用它后关闭浏览器
我这样调用 Start "http://the_url"
它正常工作的网络文件,但我注意到,浏览器在后台进程持续下去,但如果我与用户登录没有打开浏览器窗口。
何我可以在同一个批处理文件中关闭浏览器吗?有更好的方法来调用一个网址?
启动过程与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请求。
您将需要浏览器的进程ID来杀死它。如果在执行Start
命令时另一个浏览器已经打开,这可能会出现问题。但是,可以通过迭代tasklist
的输出,如this answer。一旦你有这个进程ID(PID),你可以拨打taskkill
来结束它。
而是打开浏览器,你也许可以只使用一个PowerShell命令,例如:
powershell Invoke-WebRequest -Uri "http://the_url/"
如果对URL进行GET是唯一需要的东西,这应该做的伎俩。