2014-03-31 1 views
0

Workflow Foundation 코드 활동을 사용하여 폴더에서 와일드 카드 패턴을 사용하여 파일 세트를 복사합니다. 나는이 경우, 폴더 구조를 유지, 그래서 예를 들어 있어야합니다C# 패턴이있는 파일 복사 및 구조 유지

C:\ 
    - MyFile.txt 
    - MyChildFolder 
    - MyFile.txt 

이 방법으로 복사해야합니다 순간

C:\ 
    - DestinationFolder 
    - MyFile.txt 
    - MyChildFolder 
     - MyFile.txt 

나는 다음과 같은 코드를 사용하고 있습니다 :

// copy using the pattern 
var filesToCopy = sourceDirectoryInfo.GetFiles(pattern, SearchOption.AllDirectories); 
filesToCopy.ToList().ForEach(fileToCopy => 
{ 

    File.Copy(fileToCopy.FullName, Path.Combine(destinationDirectoryInfo.FullName, fileToCopy.Name), true); 
}); 

그래서 여기서 일어나는 일은 루트 대상 디렉토리에 복사 된 모든 파일로 끝나는 것입니다. 불행히도 나는 CopyFolder 메서드를 전혀 사용할 수 없기 때문에 파일 배열을 얻는다.

+0

폴더 구조를 유지하려면 'MyFile.txt'와 원본의'MyChildFolder'가 같은 레벨이기 때문에'MyChildFolder'가'DestinationFolder' 안에 위치하지 않아야합니까? – Herdo

+0

예 Herdo, 방금 오타가 있다고 수정했습니다. – Raffaeu

답변

0

내 코드에서 xcopy 명령을 호출하여이 문제를 해결했습니다.

xcopy "source\*.txt" "destination" /e 

을하고 단순히 모든 및 폴더 구조를 보존를 복사합니다 :

난 쉽게 이런 식으로 XCOPY를 사용할 수 있습니다.