假设我有目录 1 和目录 2,每个目录中都可以有文件或子目录。到目前为止,如果我想将“目录 2”重命名为“目录 3”,我可以运行:
Directory.Move("path\Directory 2", "path\Directory 3");
这工作正常 - 重命名目录,该目录中的所有子目录和文件都可以使用新名称正常工作,无需处理副本。
但是,如果我尝试这样做:
Directory.Move("path\Directory 2", "path\Directory 1");
我收到一个错误,因为目录 1 已经存在。在这种情况下,如果不能将目录 2 重命名为目录 1,则目录 2 中的所有内容(文件和子目录)都应该移动到目录 1 中。最简单的方法是什么?我应该有一个 if 文件存在,一个 foreach 移动所有子目录,一个 foreach 移动所有文件?是否有更简单的方法来重载 .Move 函数以移动文件而不管存在错误吗?