Rundll32コマンドラインを使用してInternet Explorerのキャッシュをクリアする

inetcpl.cplを含むrundll32コマンドラインと、Internet Explorer 7以降で広く使用されているエントリポイントClearMyTracksByProcessは、整合性レベルが低い場合にのみ有効です。 これは、Windows Vista以降では、Internet Explorerが2つの異なるキャッシュコンテナーを管理するためです。1つは保護モード用で、もう1つはInternet Explorerが保護モード外にあるときにファイルを保存するためのキャッシュフォルダーです。

ユーザーがキャッシュをクリアするために次のコマンドを実行すると、

 RunDll32.exe InetCpl.cpl、ClearMyTracksByProcess 8 

このコマンドは中程度の整合性レベルで実行されるため、保護モード以外でアクセスしたWebサイトのキャッシュフォルダーのみがクリアされます。 すべてのキャッシュファイルは保護モード領域にありますが、 ディレクトリの下にあります

キャッシュを適切にクリアするには、同じコマンドを再度実行する必要がありますが、今回は低整合性レベルで起動します。 これは、メニューオプションを使用してキャッシュをクリアしようとしたときにInternet Explorerが正確に行うことです。 これは、次の図から明らかです。

コマンドラインを使用してInternet Explorerのキャッシュをクリアする方法

Internet Explorerのインターネット一時ファイルのキャッシュを適切にクリアするには、次のいずれかのオプションを使用します。

オプション1:PsExec.exeを使用する

Windows SysInternalsから使用して、整合性レベルの低いRundll32.exeを起動します。 Windows SysInternalsからPsExec.exeをダウンロードし、便利な場所に保存します。 IEキャッシュをクリアするには、次のコマンドを実行します。

 \ psexec.exe -lc:\ windows \ system32 \ RunDll32.exe InetCpl.cpl、ClearMyTracksByProcess 8 

例:

 c:\ tools \ psexec.exe -lc:\ windows \ system32 \ RunDll32.exe InetCpl.cpl、ClearMyTracksByProcess 8 

StackOverflowのmagicandre1987にPsExecのヒントをありがとう。

オプション2:Rundll32.exeのコピーを作成し、低ILで実行するように設定する

Windows \ System32ディレクトリを開きます。 rundll32.exeのコピーを作成し、そのコピーにrundll32-low.exeという名前を付けます。

次に、管理者特権または管理者のコマンドプロンプトを開き、次のように入力します。

 icacls rundll32-low.exe / setintegritylevel low 

出力で「正常に処理された1ファイルを確認する」必要があります。

必要に応じて、実際のキャッシュ(保護モード用)が格納されているInternet ExplorerのTemporary Internet Files \ Lowディレクトリが消費するディスク容量をメモします。

WinKey + Rを押し、コマンドラインを入力してIEキャッシュをクリアしますが、今回はrundll32-low.exeを使用します。

 RunDll32-low.exe InetCpl.cpl、ClearMyTracksByProcess 8 

それは完全に仕事をします。 どうぞ。

必要に応じて、上記のコマンドラインへのショートカットを作成することもできます。

注:上記の方法には小さな欠点があります。 rundll32-low.exeプロセスはキャッシュを完全にクリアしますが、正常に終了しません。 プロセスは、手動で終了するまでタスクマネージャに表示されます。 ただし、これはパフォーマンスには影響しません。

関連記事