为了检查某个应用与某些浏览器的兼容性,我制作了一个批处理文件来使用IE打开一个URL
@echo OFF
IF EXIST "C:\Program Files (x86)\Internet Explorer\iexplore.exe" (GOTO :X86SUCCESS) ELSE GOTO :NOTSUCCESS
:X86SUCCESS
start "C:\Program Files (x86)\Internet Explorer\Iexplore.exe" "http://blah.com/blah"
goto END
:NOTSUCCESS
IF EXIST "C:\Program Files\Internet Explorer\iexplore.exe" (GOTO :X64SUCCESS) ELSE GOTO :NOTSUCCESS1
:X64SUCCESS
start "C:\Program Files\Internet Explorer\Iexplore.exe" "http://blah.com/blah"
goto END
:NOTSUCCESS1
:END
这应该通常在IE浏览器中打开URL,因为我们使用iexplore直接打开URL,但在某些机器上这会打开其他浏览器,如Chrome,我不知道为什么,我猜它必须做使用默认的浏览器设置,但由于我们打开IE它不应该发生,任何人都可以解释为什么这种行为?以及如何在IE中打开URL总是即使默认浏览器不是IE?
答案 0 :(得分:0)
start
命令将第一个参数解释为要在窗口标题栏中显示的标题。 Internet Explorer的路径将被设置为标题,URI将被shell执行。因此,将启动默认浏览器。
您可以通过指定空标题字符串来阻止此操作:
setlocal
set "progFiles=%programfiles(x86)%"
if not defined progFiles (
set "progFiles=%programfiles%"
)
start "" "%progFiles%\internet explorer\iexplore.exe" "http://blah.com/blah"
或者,您也可以像这样启动Internet Explorer:
start iexplore "http://blah.com/blah"