The rundll32 command-line involving inetcpl.cpl and the entry point
ClearMyTracksByProcess which is widely in use since Internet Explorer 7, is effective only if it’s run in low integrity level. This is because in Windows Vista and higher, Internet Explorer manages two different cache containers, one for the Protected Mode and another cache folder to store files when Internet Explorer is outside the Protected Mode.
When a user executes the following command in order to clear the cache:
RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8
The command executes with a Medium integrity level and thus clears only the cache folder for websites visited outside of Protected Mode. Whereas all of your cache files are in the Protected mode area, that is under the Low directory.
In order to properly clear the cache, you’ll have to run the same command again but this time launch it in Low integrity level. This is what Internet Explorer exactly does when you try to clear the cache via menu options. This is evident from the following graphic.
How to Clear Internet Explorer Cache Using Command-Line?
To properly clear the Internet Explorer Temporary Internet Files cache, use one of these options.
Option 1: Using PsExec.exe
Use from Windows SysInternals to launch Rundll32.exe with low Integrity Level. Download PsExec.exe from Windows SysInternals and save it to a convenient location. To clear IE cache, run this command:
<Path:>\psexec.exe -l c:\windows\system32\RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8
c:\tools\psexec.exe -l c:\windows\system32\RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8
Thanks to magicandre1987 at StackOverflow for the PsExec tip.
Option 2: Make a Copy of Rundll32.exe and Set it to Run with Low IL
Open your Windows\System32 directory. Make a copy of rundll32.exe and name the copy as rundll32-low.exe
Now, open an elevated or administrator Command Prompt, and type in:
icacls rundll32-low.exe /setintegritylevel low
You should “see the successfully processed 1 files” in the output.
Optionally, make a note of the disk space consumed by Internet Explorer’s Temporary Internet Files\Low directory, that’s where the real cache (for Protected mode) is stored.
Press WinKey + R, and type the command-line to clear the IE cache, but this time using rundll32-low.exe.
RunDll32-low.exe InetCpl.cpl,ClearMyTracksByProcess 8
That does the job perfectly. Here you go.
You could also make a shortcut to the above command-line if you want.
Note: The above method has a small drawback. The rundll32-low.exe process does clear the cache perfectly, but doesn’t exit cleanly. The process shows up in Task Manager until you exit it manually. This shouldn’t affect the performance though.
One small request: If you liked this post, please share this?One "tiny" share from you would seriously help a lot with the growth of this blog. Some great suggestions:
- Pin it!
- Share it to your favorite blog + Facebook, Reddit
- Tweet it!