-1

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

我希望这不是太虚无缥缈。但只是我正在寻找的一个简单示例:源文件夹路径:c:\directories\versions\11.0.2 目标文件夹路径:c:\directories\versions\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));

关于如何做到这一点的任何想法?

4

1 回答 1

0

好吧,这是 MSDN 示例

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

你也可以看看

异步文件 I/O

异步操作使您能够在不阻塞主线程的情况下执行资源密集型 I/O 操作。这种性能考虑在 Windows 应用商店应用或桌面应用中尤为重要,因为耗时的流操作可能会阻塞 UI 线程并使您的应用看起来好像不工作。

于 2013-08-19T18:26:41.883 回答