跳过另一个进程正在使用的文件

时间:2011-04-01 18:28:21

标签: c#-4.0

  

可能重复:
  C#: Is there a way to check if a file is in use?

我创建了一个学习c#的应用程序。它所做的就是在列表视图中列出临时目录,然后单击按钮删除该目录中的文件,但是当我正在使用某些文件时,我如何筛选跳过正在使用的文件,同时删除那些不是。

1 个答案:

答案 0 :(得分:1)

尝试预测文件系统的行为是徒劳的,因为任何其他进程都可以从您身下改变状态。继续进行的最佳方法是尝试操作并捕获可能因失败而导致的异常

foreach (var name in Directory.GetFiles(somePath)) {
  try {
    File.Delete(name);
  } catch (Exception) {
    // Ignore the failure and continue
  }
}