如何在C#中复制目录的全部内容?

WBOY
WBOY 转载
2023-09-12 21:17:03 404浏览

在复制整个目录的同时,更重要的是我们要复制其子目录和相关文件。

示例

让我们考虑以下示例源目录,其中包含子目录和文件。

如何在C#中复制目录的全部内容?

如何在C#中复制目录的全部内容?

下面是示例目标目录,最初为空。

如何在C#中复制目录的全部内容?

using System;
using System.IO;
namespace DemoApplication {
   class Program {
      public static void Main() {
         string sourceDirectory = @"d:\DemoSourceDirectory";
         string targetDirectory = @"d:\DemoTargetDirectory";
         DirectoryInfo sourceDircetory = new DirectoryInfo(sourceDirectory);
         DirectoryInfo targetDircetory = new DirectoryInfo(targetDirectory);
         CopyAll(sourceDircetory, targetDircetory);
         Console.ReadLine();
      }
      public static void CopyAll(DirectoryInfo source, DirectoryInfo target) {
         Directory.CreateDirectory(target.FullName);
         foreach (FileInfo fi in source.GetFiles()) {
            Console.WriteLine(@"Copying {0}\{1}", target.FullName, fi.Name);
            fi.CopyTo(Path.Combine(target.FullName, fi.Name), true);
         }
         foreach (DirectoryInfo diSourceSubDir in source.GetDirectories()) {
            DirectoryInfo nextTargetSubDir =
            target.CreateSubdirectory(diSourceSubDir.Name);
            CopyAll(diSourceSubDir, nextTargetSubDir);
         }
      }
   }
}

输出

以上代码的输出结果为

如何在C#中复制目录的全部内容?

如何在C#中复制目录的全部内容?

以上就是如何在C#中复制目录的全部内容?的详细内容,更多请关注php中文网其它相关文章!

声明:本文转载于:tutorialspoint,如有侵犯,请联系admin@php.cn删除