티스토리 뷰

IT

중복 파일 한 번에 찾기(드라이브 정리 루틴): 중복 탐지→정리 튜토리얼

happyblissday 2025. 10. 17. 08:51

목차


    구글 드라이브의 중복 파일을 5분 퀵윈(용량순·이름 패턴·고급 검색)과 MD5 기반 정확 탐지(앱스 스크립트)로 찾아내고, 팀 폴더 검수·삭제 안전장치·주간 자동화까지 적용하는 실전 루틴을 제공합니다1,2,3,4.

     

    구글 드라이브 중복 파일 정리 루틴

     

    1) 빠른 요약

     

     

    • 퀵윈 저장용량 화면에서 용량순 정렬 → 이름 패턴(복사본, copy, (1))과 고급 검색(type:, owner:, before:/after:)로 즉시 후보 축소1,2
    • 정확 탐지 MD5 해시(Drive API md5Checksum)로 내용 기준 중복 그룹화 → 시트로 내보내 검수 후 정리3,4
    • 안전장치 즉시 삭제 금지, 검수 대기 폴더 7일 보류, Google 문서형은 버전 기록 확인, 휴지통 복구 테스트5

    2) 5분 퀵윈: ‘보이는’ 중복 먼저 걷어내기

    액션 방법 검색/필터 예시
    용량순 정렬 좌측 저장용량(Storage) → 상단 Largest 정렬로 대용량 후보 우선 점검1 동영상·ZIP 등 ROI 높은 파일부터
    이름 패턴 복사 시 붙는 관용 패턴으로 일괄 검색 name:(복사본), name:(copy), name:(1), name:(2)
    형식/소유/시점 파일 형식/소유자/기간으로 범위 좁히기2 type:pdf, type:video, owner:me, before:2024-01-01
    유사 확장자 변환/내보내기로 생긴 페어 묶기 예: Google 문서 ↔ PDF 내보내본

    고급 검색 연산자 문법은 공식 도움말을 따릅니다2.

    3) MD5 해시 기반 ‘정확’ 탐지(앱스 스크립트)

    파일 내용이 동일한지 확인하려면 Drive API의 md5Checksum을 사용하세요. 아래 스크립트는 동일 MD5 파일을 그룹화해 구글 시트 duplicates 시트로 내보냅니다3,4.

    사전 준비: Apps Script에서 고급 Drive 서비스(Drive API) 활성화 → GCP 콘솔에서 Drive API 사용 설정 → 필요한 경우 공유 드라이브 읽기 권한 확인4.
    // == MD5 기반 드라이브 중복 탐지 (Apps Script) ==
    // '고급 Drive 서비스' 활성화 필요
    const ROOT_FOLDER_ID = null;            // 특정 폴더만 검사하려면 ID 입력
    const INCLUDE_SHARED_DRIVES = true;     // 공유 드라이브 포함 여부
    
    function findDuplicatesByMD5() {
      const ss = SpreadsheetApp.getActiveSpreadsheet();
      const sh = ss.getSheetByName('duplicates') || ss.insertSheet('duplicates');
      sh.clear().appendRow(['md5','count','name','mimeType','size(bytes)','owner','fileId','link','parents']);
    
      const q = ["trashed = false"];
      if (ROOT_FOLDER_ID) q.push(`'${ROOT_FOLDER_ID}' in parents`);
    
      const params = {
        q: q.join(" and "),
        corpora: INCLUDE_SHARED_DRIVES ? "allDrives" : "user",
        includeItemsFromAllDrives: INCLUDE_SHARED_DRIVES,
        supportsAllDrives: INCLUDE_SHARED_DRIVES,
        fields: "files(id,name,mimeType,size,owners,md5Checksum,parents,webViewLink),nextPageToken",
        pageSize: 1000
      };
    
      const md5Map = {};
      let pageToken;
      do {
        if (pageToken) params.pageToken = pageToken;
        const res = Drive.Files.list(params);
        (res.files || []).forEach(f => {
          if (!f.md5Checksum) return; // Google 문서형은 md5 없음
          (md5Map[f.md5Checksum] ||= []).push(f);
        });
        pageToken = res.nextPageToken;
      } while (pageToken);
    
      Object.keys(md5Map).forEach(md5 => {
        const arr = md5Map[md5];
        if (arr.length <= 1) return;
        arr.forEach(f => {
          sh.appendRow([md5, arr.length, f.name, f.mimeType, f.size || '', (f.owners?.[0]?.displayName) || '', f.id, f.webViewLink, (f.parents||[]).join(',')]);
        });
      });
    
      SpreadsheetApp.getUi().alert('중복 탐지 완료: duplicates 시트를 확인하세요.');
    }
    

    Google 문서/시트/슬라이드는 md5Checksum이 제공되지 않을 수 있습니다. 제목·크기·수정시각 등 보조 기준을 함께 검토하세요3.

    팁: 시간 기반 트리거를 “매주”로 설정해 자동 중복 리포트를 받으세요.

    4) 팀/공유 폴더 검수·정리 루틴

    단계 설명 가이드
    스냅샷 중복 후보 → 검수 대기 폴더 이동(즉시 삭제 금지) 편집자 제한, 7일 보류 후 일괄 삭제
    소유자 owner:me부터 처리 → 외부/팀 소유 순서 권한/소유 전환 이슈 최소화1
    문서형 Google 문서/시트/슬라이드: 버전 기록 확인 후 병합/삭제 최종본 보존
    복구 휴지통 보존·복구 절차 점검 표본 복구 테스트5

    5) 삭제 안전장치 체크리스트

    • 즉시 삭제 금지 — 먼저 검수 대기로 이동, 7일 후 삭제
    • 공유 링크 영향 — 누구나 링크/외부 공유 여부 확인
    • 보존본 선정 — 동일군 중 최신 수정·경로 기준
    • 문서형 병합 — 내용 병합 후 정리(버전 기록 유지)
    • 휴지통 복구 — 보존기간·정책 확인, 샘플 복구 테스트5

    6) 주간 정리 루틴(복붙)

    1. 월 AM — 저장용량 Top 100 점검(동영상·ZIP) 1
    2. 화 AM — 이름 패턴/형식 필터로 가시 중복 수거2
    3. 수 AM — MD5 리포트 검토 → 검수 대기 이동3,4
    4. 금 PM — 승인 건 삭제, 병합 필요 건 처리
    5. 월말 — 휴지통 용량·복구 테스트, 팀 공지5

     

     

    8) 결론

    중복 정리는 퀵윈(가시 후보)정확 탐지(MD5)검수·보존주간 자동화 순으로 루틴화할 때 가장 안전하고 빠릅니다. 즉시 삭제는 피하고, 팀 정책(버전·권한·복구)을 병행하세요1,2,3,4,5.

    9) FAQ

    Q1. Google 문서형(문서/시트/슬라이드)도 MD5로 잡히나요?
    일반적으로 md5Checksum은 바이너리 파일에서 제공됩니다. 문서형은 비어 있을 수 있으므로 제목·크기·수정시각·소유자 등 보조 기준을 함께 사용하세요3.
    Q2. ‘바로가기(Shortcut)’와 중복 파일을 어떻게 구분하죠?
    바로가기는 원본 링크이며 저장공간을 거의 쓰지 않습니다. 파일 형식이 Shortcut인지 확인하고, 원본 삭제 시 바로가지만 남을 수 있으니 주의하세요2.
    Q3. 실수로 지웠습니다. 복구할 수 있나요?
    휴지통에서 복구가 가능하며, 공유 드라이브 정책/보존기간에 따라 다를 수 있습니다. 삭제 전 보존 정책을 확인하고 표본 복구 테스트를 해두세요5.

    출처

    1. Google Drive 도움말 — 저장용량 관리(대용량 파일 정리) 1
    2. Google Drive 도움말 — 검색 및 고급 연산자 2
    3. Google Drive API — Files 리소스(md5Checksum 등) 3
    4. Google Apps Script — 고급 Drive 서비스 사용법 4
    5. Google Drive 도움말 — 휴지통 항목 복구 5