폴더는 브라우저 안에서 읽습니다. 업로드하지 않습니다.
중복 파일 찾기 도구 소개
중복 파일은 조용히 쌓입니다. 혹시 몰라 사진 폴더를 복사해 두고, 내려받기가 두 번 돌아 청구서 (1).pdf 가 남고, 백업을 엉뚱한 자리에 복원하고 — 몇 해 뒤 드라이브는 이미 가지고 있던 파일로 가득 찹니다. 이 도구가 그것들을 찾아냅니다. 폴더를 고르면 똑같은 파일 묶음을 모두 알려 주고, 사본이 몇 개인지, 얼마나 되찾을 수 있는지 보여 줍니다.
똑같다는 것은 바이트 단위로 동일하다는 뜻이지 "비슷해 보인다"가 아닙니다. 같은 순간을 찍은 사진 두 장은 서로 다른 파일이므로 절대 중복으로 보고되지 않습니다. 같은 파일의 사본은 이름이 무엇이든, 어느 하위 폴더에 있든 반드시 잡힙니다.
폴더는 브라우저 안에서 읽습니다. 업로드는 없고 도구는 읽기 전용입니다. 삭제할 수 없기 때문에, 몰래 지우는 대신 확인할 목록을 건네줍니다.
두 파일이 같다고 판단하는 방법
큰 폴더에서 모든 파일을 서로 비교하면 끝이 나지 않습니다. 그래서 세 단계로 나누고, 단계마다 일을 덜어냅니다.
- 먼저 크기. 길이가 다른 두 파일이 동일할 수는 없습니다. 이것만으로 보통 폴더의 대부분이 걸러지고, 크기는 이미 알고 있으니 비용도 들지 않습니다
- 다음은 앞부분 64KB. 크기가 같아도 다른 파일은 대개 앞쪽에서 갈립니다(카메라 JPEG, 채움이 있는 압축 파일, 같은 서식으로 만든 문서). 앞부분만 해시하면 나머지를 읽지 않고 갈라낼 수 있습니다
- 마지막으로 파일 전체. 그래도 일치하는 소수만 대상이라, 비싼 읽기는 진짜 후보에만 일어납니다
해시는 브라우저에 내장된 암호 기능이 계산하는 SHA-256 입니다. 서로 다른 파일이 중복으로 보고되려면 256비트 값이 겹쳐야 하는데, 현실에서는 일어나지 않습니다.
사용 방법
- [폴더 선택]을 눌러 검사할 폴더를 고르세요. 브라우저가 읽기 권한을 물어봅니다
- 단계가 끝날 때까지 기다립니다 — 진행 막대는 느린 구간인 해시 계산을 나타냅니다
- 묶음을 확인합니다. 각 묶음에 찾아낸 사본과 남길 하나가 표시됩니다
- 어떤 사본을 남길지 고릅니다 — 최신, 최오래, 짧은 경로, 최상위 폴더에 가까운 것
- 결과를 가져갑니다 — 목록 복사, CSV 내려받기, 또는 삭제 스크립트
어떤 사본을 남길지
어느 파일이 중요한지는 도구가 대신 정하지 않습니다. 나머지를 분명히 구분하려고 묶음마다 하나를 "남김"으로 표시할 뿐입니다.
- 가장 최근 것 — 마지막으로 수정된 사본을 남깁니다. 한곳에서 작업해 왔다면 보통 이것입니다
- 가장 오래된 것 — 원본을 남깁니다. 시간 정보를 초기화하는 프로그램으로 사본이 만들어졌을 때 유용합니다
- 경로가 짧은 것 — 덜 깊은 쪽을 남깁니다. 백업 폴더가 아니라 원래 자리인 경우가 많습니다
- 최상위 폴더에 가까운 것 — 고른 폴더에 가장 가까운 것을 남깁니다
이 설정을 바꿔도 표시만 다시 붙습니다. 다시 검사하지 않으므로 즉시 오갈 수 있습니다.
범위 좁히기
- 이보다 작은 파일 제외 (KB) — 작은 파일을 건너뜁니다. 소스 코드나 썸네일 폴더에는 의미 없는 작은 동일 파일이 수백 개씩 있습니다. 100 으로 두면 되찾을 가치가 있는 것만 보입니다
- 이 형식만 — 사진은 jpg, png, 영상은 mp4, mov, 문서는 pdf. 점은 붙여도 되고 대소문자도 상관없습니다
0바이트 파일은 항상 제외합니다. 빈 파일은 서로 모두 바이트 단위로 같아서, 보고하면 진짜 결과가 묻혀 버립니다.
삭제 스크립트
삭제는 여기서 유일하게 되돌릴 수 없는 일이라, 스크립트는 모든 삭제 줄이 주석 처리된 상태로 나옵니다. 열어서 목록을 읽고, 정말 실행할 줄에서 REM(Windows) 또는 #(Mac·Linux)를 지운 뒤 직접 실행하세요. 그전까지는 아무 일도 일어나지 않습니다.
의도한 설계입니다. 버튼을 누르는 순간 PC의 파일을 지울 수 있는 웹페이지는 코드가 아무리 조심스러워도 좋은 생각이 아닙니다. 그래서 이 페이지는 그렇게 하지 못하고, 마지막 한 걸음은 사용자의 몫입니다.
이런 데 씁니다
- 여러 해 동안 컴퓨터 사이를 오가며 복사된 사진 드라이브의 용량 되찾기
- file (1).pdf, file (2).pdf 로 가득한 다운로드 폴더 정리하기
- 같은 라이브러리를 여러 번 가져와 생긴 중복 음악 찾기
- 백업 폴더가 지운 적 없는 것의 두 번째 사본을 안고 있는지 확인하기
- 더 큰 드라이브를 사기 전에 실제로 무엇이 용량을 차지하는지 파악하기
브라우저가 폴더를 읽는 두 가지 방식
Chrome, Edge, Opera 에는 제대로 된 폴더 선택 기능이 있습니다. 도구가 직접 폴더를 훑고 핸들로 각 파일의 바이트를 바로 읽습니다. 가장 빠르며, 빈 하위 폴더를 볼 수 있는 유일한 방법입니다.
Firefox, Safari 는 예전 방식의 폴더 업로드 기능을 씁니다. 브라우저가 트리 안의 모든 파일을 한 번에 넘겨줍니다. 중복 판정 방식은 같아서 파일은 여전히 페이지 안에서 읽고 해시하지만, 트리 전체를 먼저 불러오므로 아주 큰 폴더는 시작까지 오래 걸립니다.
알아 두세요
- 업로드는 전혀 없습니다. 읽기와 해시 모두 페이지 안에서 끝납니다 — 네트워크 탭으로 확인하셔도 됩니다
- 도구의 권한은 읽기 전용입니다. 파일을 만들거나 이름을 바꾸거나 옮기거나 지울 수 없습니다
- 해시는 후보 파일을 모두 읽으므로, 같은 크기의 큰 파일이 많은 폴더는 시간이 걸립니다. 크기와 앞부분 단계는 바로 그런 경우를 드물게 만들려고 있습니다
- 아주 큰 폴더는 페이지가 멈추지 않도록 200,000개에서 끊습니다
- 브라우저가 열 수 없는 파일(잠김, 사용 중, 보호된 시스템 폴더)은 잘못 보고하지 않고 건너뜁니다
- CSV에는 바이트 순서 표시가 들어가므로 한글 파일 이름도 엑셀에서 제대로 열립니다
함께 쓰면 좋은 도구
- 폴더·파일 목록 — 폴더 안의 모든 것을 목록으로 만들어 복사
- 두 폴더 비교 — 두 폴더의 차이 확인
- 파일 이름 일괄 변경 — 폴더 전체를 한 번에 이름 바꾸기
- 해시 생성기 — 텍스트나 파일 하나의 체크섬