在C#中重命名一个目录

我无法在任何地方findDirectoryInfo.Rename(To)或FileInfo.Rename(To)方法。 所以,我写了我自己的,我在这里张贴它供任何人使用,如果他们需要它,因为我们面对它:MoveTo方法是矫枉过正,并且总是需要额外的逻辑,如果你只是想重命名目录或文件:

public static class DirectoryExtensions { public static void RenameTo(this DirectoryInfo di, string name) { if (di == null) { throw new ArgumentNullException("di", "Directory info to rename cannot be null"); } if (string.IsNullOrWhiteSpace(name)) { throw new ArgumentException("New name cannot be null or blank", "name"); } di.MoveTo(Path.Combine(di.Parent.FullName, name)); return; //done } } 

移动和重命名没有区别; 你应该简单地调用Directory.Move

一般情况下,如果只执行单个操作,则应该使用FileDirectory类中的static方法,而不是创buildFileInfoDirectoryInfo对象。

有关处理文件和目录的更多build议,请参阅此处 。

你应该移动它:

 Directory.Move(source, destination); 

一个已经存在。 如果您无法克服System.IO命名空间的“移动”语法。 在Microsoft.VisualBasic.FileIO命名空间中有一个静态类FileSystem ,它已经有一个RenameDirectoryRenameFile

正如SLak所提到的,这只是Directory.MoveFile.Move一个包装。