Computer >> Máy Tính >  >> Lập trình >> C#

Làm thế nào để sao chép toàn bộ nội dung của một thư mục trong C #?

Trong khi sao chép toàn bộ nội dung của thư mục, điều quan trọng hơn là chúng ta phải sao chép các thư mục con của nó và các tệp liên quan.

Ví dụ

Hãy để chúng tôi xem xét thư mục nguồn demo có các thư mục con và tệp như bên dưới.

Làm thế nào để sao chép toàn bộ nội dung của một thư mục trong C #?

Làm thế nào để sao chép toàn bộ nội dung của một thư mục trong C #?

Dưới đây là thư mục đích demo ban đầu trống.

Làm thế nào để sao chép toàn bộ nội dung của một thư mục trong 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);
         }
      }
   }
}

Đầu ra

Đầu ra của đoạn mã trên là

Làm thế nào để sao chép toàn bộ nội dung của một thư mục trong C #?

Làm thế nào để sao chép toàn bộ nội dung của một thư mục trong C #?