重命名具有相同名称的目录不同的情况

sco*_*ott 8 .net c# vb.net rename

我试图将c#中的目录重命名为仅与不同情况相同的名称.

例如:f:\ test到f:\ TEST

我试过这段代码:

var directory = new DirectoryInfo("f:\\test");
directory.MoveTo("f:\\TEST");
Run Code Online (Sandbox Code Playgroud)

我得到一个IOException - 源和目标路径必须不同.我也尝试过具有相同结果的Directory.Move().

这是怎么做到的?我是否必须创建一个单独的临时目录,将包含的文件从原始目录移动到临时目录,然后删除原始目录,并重命名临时目录?

Joe*_*oey 11

好吧,您不需要创建单独的目录并移动所有内容.只需将文件夹重命名为不同的文件夹,然后返回到您想要的名称:

var dir = new DirectoryInfo(@"F:\test");
dir.MoveTo(@"F:\test2");
dir.MoveTo(@"F:\TEST");
Run Code Online (Sandbox Code Playgroud)

  • 实际上,`MoveFileEx`甚至不需要那个标志来做它; 你甚至可以使用`MoveFile`,它工作正常.这是阻止重命名的BCL,而不是Win32. (2认同)