Copy a directory to a different drive

前端 未结 6 722
小鲜肉
小鲜肉 2020-12-18 04:21

How do I copy a directory to a different drive in C#?

6条回答
  •  我在风中等你
    2020-12-18 04:50

    Here's an extension that will work in .NET 4.0+

    var source = new DirectoryInfo(@"C:\Test");
    var destination = new DirectoryInfo(@"E:\Test");
    source.CopyTo(destination);
    

    Include this file in your project

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.IO;
    
    namespace System.IO
    {
      public static class DirectoryInfoExtensions
      {
        public static void CopyTo(this DirectoryInfo source, DirectoryInfo target)
        {
          if (!target.Exists)
            target.Create();
    
          foreach (var file in source.GetFiles())
            file.CopyTo(Path.Combine(target.FullName, file.Name), true);
    
          foreach (var subdir in source.GetDirectories())
            subdir.CopyTo(target.CreateSubdirectory(subdir.Name));
        }
      }
    }
    

提交回复
热议问题