我正在尝试重命名具有子文件夹的多个文件夹,但是当我在子文件夹上使用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.Move(pathParent, pathParentnew);
最后Directory.Move(
)抛出
IOException:拒绝访问“D:\ test \ f1”
有谁知道如何重命名这两个文件夹?
答案 0 :(得分:3)
我弄清楚问题是什么。我不得不在Windows中关闭文件资源管理器。这个过程以某种方式锁定了文件夹。
答案 1 :(得分:0)
您的程序先前已在父目录中打开了一个文件。您需要先关闭该文件流,然后才能重命名该文件夹。
答案 2 :(得分:0)
试试这个..
DirectoryInfo dirInfo = new DirectoryInfo(oldpath);
dirInfo.MoveTo(newPath);