2012-10-10 4 views
0

새로운 파일 만 복사합니다. 디렉토리 크기가 ~ 80GB이므로 오래 걸립니다. 모든 파일을 복사 할 필요는없고 변경된 파일 만 복사해야한다는 것을 깨달았습니다.내가 현재이 코드를 사용하고

한 폴더에서 다른 폴더로 파일을 복사하는 방법은 무엇이지만 새로운 파일 만 복사합니까? 누구든지 어떤 제안이 있습니까?

==== 편집 ====

나는 각 파일의 비교 파일을 바로 할 수 있으며 다음은 각 폴더/파일을 통해 반복, 새로운 디렉토리에 복사 같은데요? 이 작업을 수행하는 더 간단한 방법이 있습니까?

+0

'CreateDirectory'는 존재하지 않는 경우에만 생성합니다. 검사가 중복됩니다. –

+0

이걸 보셨습니까? http://stackoverflow.com/questions/6506235/c-sharp-folder-sync-library –

+0

이후 언제 변경 되었습니까? 논리가 발생하기 전에 각 파일의 마지막 쓰기 날짜를 캐시해야합니다. 현재 그렇게하고 있습니까? –

답변

1

FileInfo 클래스를 사용하고 LastWriteTime 속성을 사용하여 파일의 마지막 수정 시간을 가져옵니다. 확인한 시간과 비교하여 나중에 나오는 파일 만 가져옵니다.

디렉토리의 파일을 반복하면서 마지막으로 수정 한 시간 (FileInfo.LastWriteTime)을 검사합니다. - 새로운 파일은 모두 복사됩니다.

자세한 내용은 FileInfo Class을 참조하십시오.

+0

예. 내가 생각한 것입니다. 나는 이것을 지금하고있다. – ErocM

0

이 작업을 수행 할 때 파일을 잠그지 않으면 다른 응용 프로그램이 파일을 끝내지 못할 수도 있으므로 준비하기 전에 복사를 시도 할 수 있습니다. (잠금) 복사 파일

3 얻으면

그래서) ... 파일을

2 잠금

1) 시도를 다음 단계에 따라) 다른 짧은 대기 시간을

4) goto 1

:)

+0

내 상사가 goto : P – ErocM

+0

lol이라는 단어를 언급하기 위해 나를 쏴 버릴 것입니다. 감독에게 Goto가 코딩 기능이 뛰어나다 고 말하십시오. 코딩하는 법을 배우는 데 사용되지만, 그래 ... goto = 큰 아니요 :) –

관련 문제