【问题标题】:I want to remove temporary files我想删除临时文件
【发布时间】:2019-11-26 08:20:00
【问题描述】:

我试过

System.IO.DirectoryInfo di = new DirectoryInfo(Environment.GetFolderPath(Environment.SpecialFolder.InternetCache));

foreach (FileInfo file in di.GetFiles())
{
    file.Delete();
}
foreach (DirectoryInfo dir in di.GetDirectories())
{
    dir.Delete(true);
}

System.Diagnostics.Process.Start("rundll32.exe", "InetCpl.cpl,ClearMyTracksByProcess 8");

.

第一个不工作。

另一种方法可行,但兼容性和加载窗口存在问题。

还有什么好办法吗?

【问题讨论】:

  • 请不要添加不必要的标签。从您提供的信息来看,这个问题与 WinForms 无关。
  • 第一个不起作用。”不是对问题的技术描述。
  • “Environment.SpecialFolder.InternetCache”路径需要某种权限。你检查了吗?
  • 第一个代码构建成功但没有弹出表单。

标签: c# .net internet-explorer


【解决方案1】:

第一种方法是正确的,没有任何问题。但是如果你想要一些“看起来”更干净的东西,虽然它做同样的事情,你可以这样做:

  • 将清理逻辑封装在扩展方法中
  • 调用目录的扩展方法。

可以找到一个示例方法作为类似帖子here的答案

【讨论】: