2010-07-28 34 views

回答

1

瀏覽器是複雜的,當涉及到處理的壽命,甚至早在標籤前的日子裏,IE瀏覽器可能在一個進程中打開多個窗口。他們還經常使用DDE打開網址,難以追蹤「正確」的過程。如果你想強制用戶使用IE瀏覽器(爲什麼不使用默認瀏覽器?),你可以使用Windows腳本主機來自動化IE瀏覽器(自動化有一些問題,當涉及到受保護的IE IIRC)

我會建議只是一個簡單的暫停:

start /wait http://example.com 
echo. When you are done reading xyz, press [Enter] to continue... 
pause >nul 
+0

請注意,這將導致消息推遲到瀏覽器退出。這可能是永遠的,如果用戶打開其他標籤等。 – 2010-07-28 06:20:45

+0

是的,這是真的,如果這是一個問題,只需刪除/等待 – Anders 2010-07-28 10:01:27

1
start /wait whatever.exe 

/wait標誌將啓動等待,直到程序關閉它返回之前。

至於iexplore不工作,你是對的。這是奇怪的。不過,你仍然可以用完整路徑調用它:

start "" /wait "c:\Program Files\Internet Explorer\iexplore.exe" http://stackoverflow.com 

我已經更新了第二個命令行來解決漏洞的一些方式start的命令處理。有點奇怪。然而,要做到這一點,正確的方法是:

start /wait http://address.com 
+0

/等待像記事本程序的作品,但失敗的IE瀏覽器。另外,如果我只包含IE的路徑,那麼它會打開一個新的命令行而不是瀏覽器。如果我只提供鏈接,它會打開一個新的瀏覽器,但仍然不會等待。如果我嘗試完全給出的命令,它仍然不會等到我關閉瀏覽器。 – Manoj 2010-07-28 04:34:31

+1

開始是愚蠢的!當使用帶引號的路徑時,必須首先包含一組空白的引號(例如標題)Ex:start「」/ wait「c:\ random app.exe」(並且還應該用%programfiles替換c:\ Program Files %) – Anders 2010-07-28 05:24:26

+0

@Manoj它取決於。我測試了它,它對IE正常工作。就像其他人所說的那樣,瀏覽器的生命週期很時髦,因爲你可能只是在另一個進程中啓動一個標籤。 – 2010-07-28 06:18:23

-2
call "C:\Program Files\Internet Explorer\iexplore.exe" www.google.com 
call "C:\Program Files\Internet Explorer\iexplore.exe" www.stackoverflow.com 
call "C:\Program Files\Internet Explorer\iexplore.exe" www.codeproject.com 
echo done 
pause 

我試圖在Windows 7和它完美的作品....

測試發佈烏爾評論之前的代碼.......

3

的Ø如果Internet Explorer未運行,則此處的方法可以工作。

如果IE已經在運行,它將無法正常工作。如果IE中的網頁是腳本的起始矢量,這當然很糟糕!

我找到的解決辦法是使用-noframemerging作爲一個開關來IEXPLORE.EXE:

start "" /wait "%ProgramFiles%\Internet Explorer\iexplore.exe" -noframemerging "https://www.google.com" 
+0

確實,如果IE窗口已被打開,開始/等待將立即返回,除非 - noframemerging作爲參數傳遞,告訴IE在新進程中啓動,而不是在已經存在的進程中打開新的選項卡。 – 2015-05-07 10:45:38

+0

嘗試過,因爲它聽起來不錯。但是我的開始/等待不會像預期的那樣等待。 (而且我檢查了 - 私人IE瀏覽器很好地考慮了這些選項......) – Zzirconium 2015-10-12 15:21:13

相關問題