当我尝试使用以下代码重命名目录时:
try
{
System.IO.Directory.Move(oldPath, newPath);
}
catch (System.IO.IOException e2)
{
Console.WriteLine(e2.Message);
}
我收到以下异常:进程无法访问该文件,因为它正由另一个进程使用。
更新:我想我找到了异常的原因,这是因为我正在尝试重命名位于Google云端硬盘中的文件/文件夹的文件/文件夹名称。 Google云端硬盘应用是使用它的另一个过程!任何重命名Google云端硬盘中文件夹的解决方案?但奇怪的是,当我尝试通过C#重命名位于Google云端硬盘中的文件时,我没有遇到此异常。
谢谢!
答案 0 :(得分:1)
您的文件夹似乎正在被其他进程使用。尝试关闭使用该文件夹的资源管理器或其他程序。如果没有帮助 - 尝试重新启动您的机器。如果这些没有帮助 - 考虑使用Unlocker来释放文件夹以使用其他进程。请注意,如果在重新启动机器后占用非系统文件夹
,那将会很奇怪答案 1 :(得分:0)
您可以使用Process Explorer查找锁定该文件夹的进程。有关详细信息,请参阅http://windowsxp.mvps.org/processlock.htm。
答案 2 :(得分:0)
1验证newPath是否已存在
http://msdn.microsoft.com/en-us/library/system.io.directory.move.aspx
2确认您的目录不包含已打开的文件