2012-06-06 1 views
2

레코드 파일이 들어있는 파일 디렉터리가 있습니다. 방금 같은 레코드지만 추가 파일이있는 새 디렉토리에 액세스 할 수 있지만 추가 파일은 다른 폴더 내부 깊숙히 묻혀서 찾을 수 없습니다. 그래서 내 솔루션은 python 프로그램을 실행하고 두 개의 다른 디렉토리 (및 하위 디렉토리)에서 중복되는 모든 파일을 삭제하고 다른 사람들은 그대로두고 "찾고있는 새 파일"을 줄 것입니다.여러 디렉터리 검색, 중복 파일 삭제

중복 된 프로그램을 몇 번 보았지만 실제로 어떻게 실행되는지는 잘 모르며 도움이되지 않았습니다.

어떤 방법 으로든 내가 원하는 것을 얻을 수 있습니까? 감사합니다.

답변

1

가능한 방법 :

  1. 는 MD5 세트를 만들기 원래 폴더에서 해시.
  2. 새 폴더의 파일을 재귀 적으로 MD5 해시하여 이미 해시를 생성 한 파일을 삭제합니다.

위의 내용은 두 개의 서로 다른 파일이 동일한 해시를 생성 할 수있는 가능성이 있음을 나타냅니다. 파일이 얼마나 다른가요?

+1

두 개의 서로 다른 파일이 동일한 해시를 생성 할 가능성은 거의 없습니다. 적어도 이러한 사례를 찾으려는 모든 연구를 고려할 때 우발적 인 사고가 발생하지 않을 것이라는 점은 분명합니다. – niko

1

은 fslint 또는 유사한 소프트웨어를 사용합니다. Fslint는 예를 들어 다른 파일 목록을 제공하고 복사본을 함께 하드 링크하거나 중복 파일을 삭제할 수 있습니다. 한 가지 옵션은 내부 구조가 동일하다면 diff와 유사한 프로그램을 사용하여 디렉토리를 비교하는 것입니다.

+0

Windows 용 Fslint가 있습니까? – user989937

+0

나는 fslint가 있다고 생각하지 않는다. 그러나 확실히 대안이있다. google for "fslint windows"그리고 당신은 많은 조회수를 얻을 것이다. –

0

두 디렉토리의 파일이 동일한 이름/경로를 가지고 있습니까? 제대로 이해한다면 파일 내용이 아닌 중복 된 파일 이름을 찾고 싶습니까? 그렇다면 두 트리의 os.walk에 대한 '동기화 된'호출이 도움이 될 수 있습니다.

DuplicateFilesDeleter :

+0

불행히도 "부름"에 대해서는 거의 알지 못합니다. 나는 파이썬 프로그래밍을 알고 있지만 해시 등을 다루는 것에 대해서는 아무것도 모른다. 내 파일의 이름은 같지만 다른 디렉토리에 있습니다. 내 목표는 '새'파일, 즉 중복되지 않은 파일을 찾는 것입니다. – user989937

0

나는 매우 유용한이 같은 경우이다 다른 도구를 알고있다.