C# 当目录移动子文件夹和父文件夹时,IOException访问被拒绝
我试图重命名多个包含子文件夹的文件夹,但在子文件夹上使用Directory.Move()时,父文件夹似乎被锁定 我的代码:C# 当目录移动子文件夹和父文件夹时,IOException访问被拒绝,c#,ioexception,.net,C#,Ioexception,.net,我试图重命名多个包含子文件夹的文件夹,但在子文件夹上使用Directory.Move()时,父文件夹似乎被锁定 我的代码: var pathParent = @"D:\test\f1"; var pathSub = @"D:\test\f1\f2"; var pathParentnew = @"D:\test\f1new"; var pathSubnew = @"D:\test\f1\f2new"; Directory.Move(pathSub, pathSubnew); Directory
var pathParent = @"D:\test\f1";
var pathSub = @"D:\test\f1\f2";
var pathParentnew = @"D:\test\f1new";
var pathSubnew = @"D:\test\f1\f2new";
Directory.Move(pathSub, pathSubnew);
Directory.Move(pathParent, pathParentnew);
最后一个目录.Move(
)抛出
IOException:对“D:\test\f1”的访问被拒绝
有人知道如何重命名这两个文件夹吗?您的程序以前在父目录中打开过一个文件。您需要先关闭该文件流,然后才能重命名文件夹。我找到了问题所在。我不得不关闭Windows中的文件资源管理器。这个过程以某种方式锁定了文件夹 试试这个
DirectoryInfo dirInfo = new DirectoryInfo(oldpath);
dirInfo.MoveTo(newPath);
您是否已经有名为
D:\test\f1new
的文件夹?没有。Tnx的编辑。我尝试了你的代码,它在我的机器上工作得很好。你确定你没有在这些代码之间做任何事情吗?事实上,它在我第一次运行它时就工作了。如果我将文件夹重新命名为原始名称并再次运行,它将抛出exception.Tnx作为回复。你知道我该怎么做吗?真奇怪,我的案子的父文件夹被打开了,这就是锁定问题。。。