コマンドラインからInternet Explorerをデフォルトのブラウザに設定します。


9

コマンドラインから起動するデフォルトのブラウザとしてInternet Explorerを設定することは可能ですか?

Internet Explorerでしか動作しないWebアプリケーションがありますが、Firefoxがデフォルトのブラウザになっている場合は機能しません。ユーザーはドメイン環境にいるので、私は次のようにしてアプリケーションをバッチから起動しようとしています。

start "C:\Program Files\Internet Explorer\iexplore.exe" http://server_ip/home_page

ブラウザを手動で変更しない限り、アプリケーションは起動しません。


4
私は「すべてのまともなブラウザの下で壊れるのではなく、実際に適切なHTMLを尊重するようにアプリを修正する」ことは選択肢ではないでしょうか。
Shadur

1
@Shadur問題が機能として見られるいくつかの球があります..
Joseph Hansen

単一のブラウザに特有の壊れた動作に頼ることは、機能ではないか、少なくともあるべきではありません。
Shadur

@ techie007自分でテストしたわけではありませんが、チェックアウトできます ここに そして ここに
avirk

IEをデフォルトのブラウザにするのは悪い考えです。
Jet

回答:


10

このコマンドはIEをデフォルトのブラウザに設定します。

shmgrate.exe OcinstallreinstallIE

この方針 人々がデフォルトのブラウザを決定するのをやめるべきです。


問題ありません。それがあなたのためにうまくいったことをうれしく思います。
slotishtype

同様に方針のための+1。
MDT Guy

Windows Vistaでは、登録方式が見直されました。の shmgrate このツールは、Windows 2000 / XPおよびWindows Server 2003でのみ使用できます。また、このポリシーはInternet Explorerがデフォルトのブラウザとして設定されているかどうかをチェックすることを妨げるだけです。
and31415

3

あなたはこれを試すことができます、それは動作します

start "" "C:\Program Files\Internet Explorer\iexplore.exe" http://server_ip/home_page

あなたのコマンドのエラーはそれでした start 最初の引用符で囲まれた文字列がアプリケーションのタイトルになると想定します。この場合は空白のままにできます。

設定用 iexplorer.exe システムのデフォルトのWebブラウザとして、あなたは使用することができます assoc そして ftype 拡張子をファイルの種類に、ファイルの種類を実行可能ファイルに関連付けるコマンドは、次のようになります。

assoc .html=htmlfile
ftype htmlfile="C:\Program Files\Internet Explorer\iexplore.exe" %1

%1 ここでの引数です - それはあなたが入力としてプログラムに送ることができるURLまたはファイルです


1
(単に)IEで開くHTMLファイルの種類を関連付けることは、それをOSのデフォルトブラウザに設定することと同じではありません。
Ƭᴇcʜιᴇ007

iexplorer.exeではなくiexplore.exe
InterLinked

1

Windows Vista以降、IE 7以降

次のバッチスクリプトはクリックをシミュレートします このプログラムをデフォルトに設定 [既定のプログラム]コントロールパネルアプレットからVista / 7およびIE 7 / IE 11でテスト済み

@echo off
setlocal enabledelayedexpansion

REM -- check XHTML support (IE 9+)
set xhtml=0
for /f %%G in ('"reg query "HKCR\IE.AssocFile.XHT" /ve 2>&1 | findstr /c:".XHT" "') do set xhtml=1

REM -- reset file extensions
set exts=HTM,HTML
if %xhtml% == 1 (set exts=%exts%,XHT,XHTML)

for %%G in (%exts%) do (
set ext=%%G
set ext=!ext:~0,3!
reg add "HKCU\Software\Classes\.%%G" /ve /t REG_SZ /d "IE.AssocFile.!ext!" /f >nul
)

set exts=%exts%,MHT,MHTML,URL
set acl=%temp%\acl_%random%%random%.txt

for %%G in (%exts%) do (
set key=HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.%%G\UserChoice
echo !key! [1 7 17]>"%acl%"
regini "%acl%" >nul
set ext=%%G
set ext=!ext:~0,3!
reg add "!key!" /v "Progid" /t REG_SZ /d "IE.AssocFile.!ext!" /f >nul
)
del "%acl%" 2>nul

REM -- reset MIME associations
for %%G in (message/rfc822,text/html) do (
set key=HKCU\Software\Microsoft\Windows\Shell\Associations\MIMEAssociations\%%G\UserChoice
reg add "!key!" /v "Progid" /t REG_SZ /d "IE.%%G" /f >nul
)

REM -- reset URL protocols
for %%A in (FTP,HTTP,HTTPS) do (
set key=HKCU\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\%%A\UserChoice
reg add "!key!" /v "Progid" /t REG_SZ /d "IE.%%A" /f >nul
for %%B in (DefaultIcon,shell) do (
set key=HKCU\Software\Classes\%%A
reg delete "!key!\%%B" /f >nul 2>&1
reg copy "HKCR\IE.%%A\%%B" "!key!\%%B" /s /f >nul
reg add "!key!" /v "EditFlags" /t REG_DWORD /d 2 /f >nul
reg add "!key!" /v "URL Protocol" /t REG_SZ /d "" /f >nul
))

REM -- reset the start menu Internet link (Vista and earlier)
reg add "HKCU\Software\Clients\StartMenuInternet" /ve /t REG_SZ /d "IEXPLORE.EXE" /f

REM -- reset cached icons
if %xhtml% == 1 (
ie4uinit -cleariconcache
) else (
taskkill /im explorer.exe /f >nul
start explorer
)

pause
exit /b

備考

Webブラウザアプリケーションはすべて、スタートメニューにインターネットクライアントとして表示されるように登録できます。アプリケーションの適切な登録と相まって、この可視性 ファイル そして プロトコル typesは、アプリケーションのデフォルトブラウザステータスを指定します。デフォルトのWebブラウザは、システム内の任意の場所から任意のURLを起動するために使用されます。

注意 Windows 7以降では、既存の[スタートメニューリンク]登録は無視されます。この登録はWindows 7の時点で非推奨です。

ソース: インターネットブラウザまたは電子メールクライアントをWindowsのスタートメニューに登録する方法

ファイルとプロトコルの関連付けに対する階層的なレジストリ構造は、マシンレベルのデフォルトよりもユーザーごとのデフォルトを優先します。

ソース: 既定のプログラム


Windows 8.1上でIEをデフォルトとして設定しません。 :(
Ƭᴇcʜιᴇ007

@ techie007コントロールパネルのデフォルトプログラムの設定はどうですか?何か変わったのですか?バッチスクリプトの実行中にエラーが発生しましたか?
and31415

Windows 7(Pro、64ビット)では動作しているように見えますが、Windows 8(Pro 32ビット)では、「操作は正常に完了しました」という出力が表示されるだけです。 - "何かキーを押すと続行します 。 。 。"しかし、実際にはIEをデフォルトに設定していません。
Ƭᴇcʜιᴇ007

私の他のWindows 8マシンの下では、それはもう少しうまくいった。それを実行して、次にhttpリンクを開いたときに、どのブラウザを使用したいのかを尋ねられます。他の部分はすべて(AFAICT)、IEがデフォルトとして登録されていると考えるように思われるので、これは私にとって十分に良いことです。だから私の恵みを持っています。 :)
Ƭᴇcʜιᴇ007

@ techie007マイクロソフトが持っていることを完全に忘れていました ルールを変更しました そして今、これらのレジストリキーのほとんどには、改ざん防止対策が施されています。テストしても構わない場合は、Windows 8以降で関連付けをクリアするためのスクリプトの更新版をお送りします。次回リンクまたはHTMLファイルを開くときに、Windowsから選択できます。使用するブラウザ。いずれにしても(一部の)ユーザーの操作が必要になるため、これはおそらく自動化された方法で達成できる最善の方法です。
and31415

1

batファイルに2行以下を追加できます

reg add "HKCU\Software\Microsoft\Internet Explorer\Main" /f /v "Check_Associations" /d "yes" /t REG_SZ

reg add "HKCU\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice" /f /v "ProgId" /d "IE.HTTP" /t REG_SZ

batを実行した後、上記の2つのコマンドラインはレジストリ値を変更するためのものであるため、再起動/ログオフしてログバックします。

追加の詳細はここで見つけることができます

(修正済み) - Internet Explorerをデフォルトブラウザに設定できない http://www.windowstechinfo.com/2016/03/fixed-cant-set-internet-explorer-as-the-default-browser.html



0

ドロップするだけ start コマンドまたはバッチファイルを機能させるため。

"C:\Program Files\Internet Explorer\iexplore.exe" http://server_ip/home_page

1
私たちは わたし とにかく)OPの問題や理由を解決するためだけではなく、コマンドラインからデフォルトのブラウザを設定するための解決策を探してください。
Ƭᴇcʜιᴇ007

0

Windows 8(IE 10以降)では、簡単なVBSスクリプトです。

Dim URL 
Dim IE 
Set IE = CreateObject("internetexplorer.application")
URL = "res://ieframe.dll/defaultbrowser.htm" 
IE.Visible = True
IE.Navigate URL


 Do While IE.Busy
    WScript.Sleep 100
 Loop

IE.Document.getElementById("changeDefaultButton").Click

それはIEをデフォルトとして変更するためのIEページを起動し、同意するためのボタンのクリックをシミュレートします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.