2017-06-02 21 views
0

檢查與特定瀏覽器的應用程序兼容性,我做了一個批處理文件來打開一個URL中使用IE批處理文件即可打開IE瀏覽器的應用程序

@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中打開網址瀏覽器,因爲我們直接使用iexplore打開網址,但在某些機器上打開了Chrome等其他瀏覽器,我不知道爲什麼,我猜它必須使用默認的瀏覽器設置,但是因爲我們正在開放IE它不應該發生,任何人都可以解釋爲什麼這種行爲?以及我如何在IE中始終打開URL,即使默認瀏覽器不是IE?

回答

0

start命令將第一個參數解釋爲顯示在窗口標題欄中的標題。 Internet Explorer的路徑將被設置爲標題,並且URI將被執行。因此,默認瀏覽器被啓動。

你可以阻止這種通過指定一個空標題字符串:

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" 
+1

正確說,'start'解釋第一**引用**參數作爲窗口標題;所以它是:'start'「iexplore」...「' – aschipfl

+0

如果要引用的命令或程序也被引用,似乎'start'會將第一個引用的參數解釋爲窗口標題**。因爲'iexplore'沒有被引用,所以下面引用的字符串被視爲第一個參數。 – treintje

相關問題