在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
。
一般情况下,如果只执行单个操作,则应该使用File
和Directory
类中的static
方法,而不是创buildFileInfo
和DirectoryInfo
对象。
有关处理文件和目录的更多build议,请参阅此处 。
你应该移动它:
Directory.Move(source, destination);
一个已经存在。 如果您无法克服System.IO
命名空间的“移动”语法。 在Microsoft.VisualBasic.FileIO命名空间中有一个静态类FileSystem
,它已经有一个RenameDirectory
和RenameFile
。
正如SLak所提到的,这只是Directory.Move
和File.Move
一个包装。