File.GetCreationTime throws进程无法访问该文件,因为它正由另一个进程使用

时间:2016-07-07 11:26:31

标签: c# .net

我正在使用vector对几个文件进行排序。当我尝试使用File.GetCreationTime移动时使用此功能后,我收到错误:

File.Move

以下是代码:

The process cannot access the file because it is being used by another process.

foreach (var f in Directory.GetFiles(source)) { DateTime creation = File.GetCreationTime(f); var fileDest = Path.Combine(destination, creation.Year.ToString()); if (!Directory.Exists(fileDest)) { Directory.CreateDirectory(fileDest); } File.Move(f, Path.Combine(fileDest, Path.GetFileName(f))); } 获取文件句柄吗? 我做错了什么?

我使用了重试模式建议,但代码仍然失败:

File.GetCreationTime

1 个答案:

答案 0 :(得分:0)

错误消息已经准确地告诉您问题所在:您无法移动文件,因为有人正在使用它。

找出锁定文件的进程的一种简单方法是使用 Process Explorer 。只需选择查找>从菜单中找到查找句柄或DLL ... 并输入文件的名称etvoilà,过程的名称在结果中:

enter image description here