C# C中的目录重命名异常#
当我尝试使用以下代码重命名目录时:C# C中的目录重命名异常#,c#,C#,当我尝试使用以下代码重命名目录时: try { System.IO.Directory.Move(oldPath, newPath); } catch (System.IO.IOException e2) { Console.WriteLine(e2.Message); } 我得到以下异常:进程无法访问该文件,因为它正被另一个进程使用 我不明白为什么它一开始就写着“文件” 此外,目录是空的。它指的是什么文件 最后,如何管理重命名目录而不出
try
{
System.IO.Directory.Move(oldPath, newPath);
}
catch (System.IO.IOException e2)
{
Console.WriteLine(e2.Message);
}
我得到以下异常:进程无法访问该文件,因为它正被另一个进程使用
谢谢 您的文件夹似乎正在被另一个进程使用。尝试关闭使用该文件夹的资源管理器或其他程序。如果没有任何帮助-请尝试重新启动计算机。如果这些方法不起作用,请考虑使用文件夹来免除另一个进程的使用。请注意,如果重新启动计算机后非系统文件夹被占用,这会很奇怪
您可以使用Process Explorer查找锁定该文件夹的进程。有关更多信息,请参阅。1验证newPath是否已不存在
2验证您的目录不包含打开的文件这可能很明显,但您是否碰巧在该目录上或目录内打开了资源管理器?就文件系统而言,目录是一种特殊类型的文件。是的,资源管理器已打开。但是,当我尝试在其他一些目录上使用c#执行类似操作时,即使资源管理器窗口处于打开状态,它也能工作!即使我关闭浏览器,它也会给我同样的异常。请确保您没有通过以前的代码阅读内容。如果是这样,您可能需要关闭Reader希望您试图重命名的目录未被您试图重命名的同一个exe使用。