我正在使用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
答案 0 :(得分:0)
错误消息已经准确地告诉您问题所在:您无法移动文件,因为有人正在使用它。
找出锁定文件的进程的一种简单方法是使用 Process Explorer 。只需选择查找>从菜单中找到查找句柄或DLL ... 并输入文件的名称etvoilà,过程的名称在结果中: