1

我正在尝试重命名具有子文件夹的多个文件夹,但是当我在子文件夹上使用 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”的访问被拒绝

有谁知道我如何重命名这两个文件夹?

4

3 回答 3

3

我弄清楚了问题所在。我不得不在 Windows 中关闭文件资源管理器。该过程以某种方式锁定了文件夹。

于 2013-09-25T12:53:42.207 回答
0

您的程序之前在父目录中打开了一个文件。您需要先关闭该文件流,然后它才能重命名文件夹。

于 2013-09-25T10:22:47.863 回答
0

尝试这个 ..

 DirectoryInfo dirInfo = new DirectoryInfo(oldpath);
 dirInfo.MoveTo(newPath);
于 2014-12-03T09:28:22.433 回答