将一个文件中的所有文件/子目录复制到另一个文件

本文关键字:文件 子目录 复制 另一个 一个 | 更新日期: 2023-09-27 18:28:19

我正在尝试将文件夹从源复制到目标。源文件夹和目标文件夹将位于同一目录中。文件夹的结构会因每个副本而异,因此需要通用。该文件夹将包含需要复制的文件和子目录。因此,总而言之,一个文件夹的全部内容都应该被复制到另一个文件夹,无论它包含什么。

我希望这不是太夸张。但这只是我想要的一个快速例子:源文件夹路径:c:''directors''version''11.0.2目标文件夹路径:c:''directors''version''11.0.3

将11.0.2的所有内容复制到11.0.3 中

以下是我目前拥有的无效代码:

//Create all of the directories
foreach (string dirPath in Directory.GetDirectories(sourceDir, "*",
SearchOption.AllDirectories))
Directory.CreateDirectory(dirPath.Replace(sourceDir, targetDir));
//Copy all the files
foreach (string newPath in Directory.GetFiles(sourceDir, "*.*",
SearchOption.AllDirectories))
File.Copy(newPath, newPath.Replace(sourceDir, targetDir));

有什么想法可以做到这一点吗?

将一个文件中的所有文件/子目录复制到另一个文件

这是MSDN的示例

此示例演示如何使用I/O类同步复制将目录的内容转移到另一个位置。在本例中用户可以指定是否也复制子目录。如果子目录被复制,本例中的方法是递归的通过在每个后续子目录上调用自身来复制它们,直到没有更多可复制的了。

你也可以看看

异步文件I/O

异步操作使您能够执行资源密集型I/O操作而不阻塞主线程。此性能在Windows应用商店应用程序或桌面应用程序,耗时的流操作可能会阻止用户界面线程,让你的应用程序看起来好像不工作。