清除临时互联网文件中的 *.kml 文件

本文关键字:文件 kml 清除 互联网 | 更新日期: 2023-09-27 18:30:49

我想清除临时互联网文件中的所有kml文件。我尝试了递归目录搜索,但没有找到 kml 文件,尽管您在使用 Windows 资源管理器浏览时可以看到 kml 文件。在"临时互联网文件"的实际目录中,如Content.IE5,存在这些kml文件的*.xml对应项。我也删除了它们,但窗口资源管理器仍然显示 kml 文件。我也尝试了一些WinApi方法,但我无法编写我想要的代码。

清除临时互联网文件中的 *.kml 文件

据我所知,临时互联网文件的处理方式类似于回收站文件,即有一个包含元数据(例如文件名)的索引文件和包含实际内容的文件。您可能可以使用GetUrlCacheEntryInfo()来获取文件信息,但我认为没有任何特定/简单的方法来清除除特定子集以外的所有文件(而不会像简单地删除文件那样损坏缓存文件而不更新元数据或迭代缓存中的所有文件)。

编辑:我误解了你(我认为;你只想删除一组特定的文件;而不是其他所有文件)。如果您只想删除所有 *.kml 文件,您也许可以这样做:

  • 使用 FindFirstUrlCacheEntry 和 'FindNextUrlCacheEntry) 查找缓存条目。
  • 使用DeleteUrlCacheEntry删除找到的条目。

你试过Environment.SpecialFolder.InternetCache路径

        string tempPath = Environment.GetFolderPath(Environment.SpecialFolder.InternetCache);
        System.IO.DirectoryInfo tempDir = new DirectoryInfo(tempPath );
        foreach (FileInfo file in tempDir.GetFiles("*.kml"))
        {
            file.Delete();
        }

您还应该更新代码以删除子目录中的文件。

希望它会有所帮助。