日期:2014-05-18  浏览次数:20822 次

清理IE缓存清不干净
C:\Users\Administrator\AppData\Local\Microsoft\Windows\Temporary Internet Files

用的
C# code

 string cachePath = Environment.GetFolderPath(Environment.SpecialFolder.InternetCache);//获取缓存路径
            string cookiesPath = Environment.GetFolderPath(Environment.SpecialFolder.Cookies);
            DirectoryInfo di = new DirectoryInfo(cachePath);
            DirectoryInfo di2 = new DirectoryInfo(cookiesPath);
            foreach (FileInfo fi in di.GetFiles("*.*", SearchOption.AllDirectories))//遍历所有的文件夹 删除里面的文件
            {
                try
                {

                    fi.Delete();
                }
                catch (Exception ex) { }
            }
            foreach (FileInfo fi in di2.GetFiles("*.*", SearchOption.AllDirectories))//遍历所有的文件夹 删除里面的文件
            {
                try
                {

                    fi.Delete();
                }
                catch (Exception ex) { }
            }


但是C:\Users\Administrator\AppData\Local\Microsoft\Windows\Temporary Internet Files 目录下还是有缓存文件,使用IE控制面板里的删除按钮就可以全部删除,应该不是权限问题,缓存根目录下的一些文件无法被遍历到.是什么原因呢?

------解决方案--------------------
你可以直接调用命令行
RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 2

http://www.lancelhoff.com/delete-internet-explorer-browsing-history-via-command-line/