Computer >> 컴퓨터 >  >> 프로그램 작성 >> C#

C#에서 디렉토리의 전체 내용을 복사하는 방법은 무엇입니까?

<시간/>

디렉토리의 전체 내용을 복사하는 동안 하위 디렉토리와 관련 파일을 복사하는 것이 더 중요합니다.

아래와 같은 하위 디렉토리와 파일이 있는 데모 소스 디렉토리를 생각해 봅시다.

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#에서 디렉토리의 전체 내용을 복사하는 방법은 무엇입니까?