Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Copy toàn bộ nội dung thư mục trong C#

Khi copy toàn bộ nội dung thư mục, quan trọng phải copy cả sub directories và files liên quan.

Ví dụ

Xét thư mục nguồn demo có sub directories và files như sau:

Copy toàn bộ nội dung thư mục trong C#

Copy toàn bộ nội dung thư mục trong C#

Thư mục đích demo ban đầu rỗng:

Copy toàn bộ nội dung 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);
            }
        }
    }
}

Kết quả

Kết quả sau khi copy:

Copy toàn bộ nội dung thư mục trong C#

Copy toàn bộ nội dung thư mục trong C#