두 폴더의 내용을 비교하고 동기화하는 방법

백업 작업을 XCopy, SyncToy 또는 다른 도구를 사용하여 특정 디렉토리를 다른 위치로 미러링하는 것으로 가정합니다. Microsoft SyncToy를 사용하는 경우 때때로 파일 또는 폴더가 대상에 없거나 대상 폴더에 추가 파일 또는 폴더가없는 원본 폴더가있을 수 있습니다.

이 기사에서는 두 개의 다른 디렉토리 경로에서 디렉토리 구조 (파일과 함께)를 비교하여 소스의 정확한 복제본 또는 미러 사본이 있는지 확인하는 방법에 대해 설명합니다. 아래 방법 중 일부는 비교 후 두 폴더의 항목을 동기화하는 방법도 설명합니다.

이 기사에서는 12 가지 폴더 비교 방법 (Windows 용)을 설명합니다. 가장 적합한 것을 선택하십시오. 동기화 후 파일 무결성을 확인해야하는 경우 다음 해시 체크섬 확인 절차 중 하나를 사용하십시오.

Microsoft의 WinDiff를 사용하여 두 폴더의 내용을 비교하십시오.

WinDiff는 1992 년에 처음 출시 된 이후 업데이트 된 Microsoft의 그래픽 파일 비교 도구입니다. 기다려주세요! 최초 릴리스의 해에 뒤지지 마십시오.

WinDiff는 여전히 훌륭하고 Windows 10에서는 완벽하게 작동하지만 유니 코드는 지원하지 않습니다. 엄청난 잠재력이 있습니다. WinDiff는 ASCII 및 이진 파일을 비교하고 두 디렉토리를 비교하고 폴더를 동기화 할 수 있습니다 (왼쪽 폴더 → 오른쪽 폴더 또는 그 반대로).

WinDiff 다운로드 링크 (로컬 미러). 마지막으로 업데이트 된 WinDiff 버전은 5.2.3790.0이며 날짜 수정 스탬프는 2016 년 4 월 7 일을 나타냅니다.

Windows XP 지원 도구 패키지의 일부로 WinDiff를 다운로드하고 7-Zip을 사용하여 내용을 추출 할 수도 있습니다.

WinDiff를 사용하여 디렉토리 비교를 수행하려면 다음을 수행하십시오.

  1. Windiff.exe를 시작하십시오.
  2. 파일 메뉴에서 디렉터리 비교를 클릭하십시오.
  3. 디렉터리 선택 대화 상자의 Dir1 및 Dir2 상자에 비교할 두 폴더 이름을 입력하십시오. 해당 폴더의 파일을 재귀 적으로 비교하려면 하위 디렉토리 포함 확인란을 선택하십시오.

기본적으로 결과 또는 개요 창에는 동일한 파일과 차이점이 표시됩니다. 옵션 메뉴에서 동일한 파일 표시 를 비활성화하여 동일한 파일을 숨길 수 있습니다.

보시다시피, WinDiff는 파일 이름을 비교할뿐만 아니라 두 위치의 파일 내용을 비교하고 파일 내용이 다른 경우 변경 사항을 강조 표시합니다.

"다른"항목을 두 번 클릭하면 색상 코드가있는 비교보기가 열립니다. 색상으로 구분 된 결과는 파일의 차이점을 나타냅니다.

WinDiff는 ASCII 및 이진 비교를 수행 할 수 있습니다. 즉, WinDiff는 수정 된 날짜에 의존하지 않고 파일의 실제 내용을 비교합니다.

예를 들어 대상 폴더 (오른쪽 폴더)의 텍스트 파일에서 문자를 수정했습니다. 느낌표를 콜론으로 바꾸었고 파일 크기는 두 위치에서 정확히 동일합니다 (1, 127 바이트). WinDiff는 그것을 선택하고 파일이 다르다는 것을 보여주었습니다.

디렉토리 비교 차이를 파일로 저장 하려면 파일 메뉴에서 파일 목록 저장을 클릭 하십시오 . 큰 따옴표없이 완전한 경로를 가진 파일 이름을 입력하십시오.

동일한 파일체크섬 포함 옵션을 선택 취소하고 확인을 클릭하십시오. 출력 파일은 다음과 같습니다.

 -D : \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019 : E : \ RameshPC-Synced Backup \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019-왼쪽 만, 오른쪽 만 포함 E : \ RameshPC 동기화 백업 \ 웹 사이트 \ Winhelponline \ blog \ wp-content \ uploads \ 2019. \ compare-folders.txt에만 E : \ RameshPC 동기화 백업 \ 웹 사이트 \의 다른 파일. \ accesschk.exe Winhelponline \ blog \ wp-content \ uploads \ 2019. \ fta-1803-w10.txt는 E : \ RameshPC-Synced Backup \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019에만 있습니다. \ ssh-commands-useful .txt 만 E : \ RameshPC-Synced Backup \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019. \ 05 \ dell-supportassist.png D : \ Websites \ Winhelponline \ blog \ wp-content \ uploads에만 \ 2019. \ 05 \ disable-theme-sync-ramesh.png 다른 (E : \ RameshPC- 동기화 된 백업 \ 웹 사이트 \ Winhelponline \ blog \ wp-content \ uploads \ 2019가 더 최근입니다). \ 05 \ file-explorer- not-highlight-files.png D : \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019에만 있습니다. \ 05 \ firefox-forget-about-this-site-4.png의 차이점 nt (E : \ RameshPC 동기화 백업 \ 웹 사이트 \ Winhelponline \ blog \ wp-content \ uploads \ 2019가 최신 버전 임). \ 05 \ msconfig-disable-services-non-microsoft.png D : \ 웹 사이트 \ Winhelponline에서만 \ blog \ wp-content \ uploads \ 2019. \ 05 \ windows-store-error-0x800706d9.png D의 경우에만 : \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019. \ 06 \ notepad-bing-search .png E : \ RameshPC 동기화 백업 \ 웹 사이트 \ Winhelponline \ blog \ wp-content \ uploads \ 2019. \ 06 \ rundll32-refresh-commands.txt에서만 E : \ RameshPC 동기화 백업 \ 웹 사이트 \ Winhelponline \ blog \ wp-content \ uploads \ 2019. \ 06 \ archives \ 404chk.vbs E : \ RameshPC-Synced Backup \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019. \ 06 \ archives \ actxprxy-missing에만 해당 -issues.txt 만 E : \ RameshPC-Synced Backup \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019. \ 06 \ archives \ apps.png E : \ RameshPC-Synced Backup \ Websites \ Winhelponline \에서만 blog \ wp-content \ uploads \ 2019. \ 06 \ archives \ articles.vbs E : \ RameshPC- 동기화 백업 \ 웹 사이트 \ Winhelponline \ blog \ wp-content \ upl에만 해당 oads \ 2019. \ 06 \ archives \ bash-sh.vbs는 E : \ RameshPC-Synced Backup \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019-17 개 파일에만 있습니다. 

출력 파일은 탭으로 구분 된 형식이므로 Microsoft Office Excel 또는 Google 스프레드 시트로 쉽게 가져올 수 있습니다.

디렉토리 비교를위한 추가 스위치로서 소스 및 대상 경로를 사용하여 WinDiff를 직접 시작할 수 있습니다. 예를 들어 windiff.exe "c:\source" "d:\destination" 을 시작하면 도구가 시작되고 두 폴더 경로를 바로 비교할 수 있습니다.

WinDiff 명령 줄 스위치

다음은 WinDiff 명령 행 스위치의 전체 목록입니다.

 사용법 : windiff [옵션] path1 [path2] 옵션 : -D 하나의 디렉토리 만 비교하십시오. -F [flags] savefile 복합 파일을 'savefile'에 저장하십시오. '플래그'는 I (동일), L (왼쪽), R (오른쪽), F (이동 된 leFt), G (이동 된 riGht), S (동일한 왼쪽), A (similiAr 오른쪽), X (목록 저장 후 종료). (예 : -FLF는 왼쪽 또는 이동 된 leFt 행 목록을 저장합니다). -I file 지정된 입력 파일에서 비교할 파일 목록을 읽습니다. 각 줄은 공백으로 구분 된 하나 또는 두 개의 파일 이름을 포함 할 수 있습니다 (파일 이름에 공백이 포함 된 경우 따옴표 사용). stdin에서 읽을 파일 이름으로 "-"를 사용하십시오. 행에 파일 이름이 하나만 있으면 파일이 자체와 비교됩니다. -N name NET SEND는 비교가 끝나면 'name'에게 알림을 보냅니다. -O 아웃 라인보기 (자동 확장 없음). -P 역 비교 : 문장 부호에서 줄을 끊습니다. -S [flags] savefile 파일 목록을 'savefile'에 저장합니다. '플래그'는 S (같은), L (왼쪽), R (오른쪽), D (다른), X (저장 후 종료) 중 하나 이상으로 구성 될 수 있습니다. (예 : -SLD는 왼쪽 또는 다른 파일 목록을 저장합니다). -T 전체 하위 트리를 비교합니다. 

-S 스위치를 사용하여 비교 보고서를 파일에 저장합니다. 예는 다음과 같습니다.

동일한 파일 목록을 diff.txt에 저장하십시오.

 -SS D : \ output \ diff.txt c : \ folder1 d : \ folder2 

다른 파일 목록을 diff.txt에 저장하십시오.

 -SD D : \ output \ diff.txt c : \ folder1 d : \ folder2 

왼쪽 전용 파일 목록을 diff.txt에 저장하십시오.

 -SL D : \ output \ diff.txt c : \ folder1 d : \ folder2 

오른쪽 전용 파일 목록을 diff.txt에 저장합니다.

 -SR D : \ output \ diff.txt c : \ folder1 d : \ folder2 

왼쪽 전용 파일과 오른쪽 전용 파일 목록을 diff.txt에 저장합니다.

 -SLR D : \ output \ diff.txt c : \ folder1 d : \ folder2 

비교 보고서를 저장 한 후 WinDiff를 자동으로 종료하려면 다음과 같이 X 스위치를 추가하십시오.

오른쪽 전용 파일 목록을 diff.txt에 저장하고 WinDiff를 종료하십시오.

 -SRX D : \ output \ diff.txt c : \ folder1 d : \ folder2 

왼쪽 및 오른쪽 파일 목록을 diff.txt에 저장하고 WinDiff를 종료하십시오.

 -SLRX D : \ output \ diff.txt c : \ folder1 d : \ folder2 

5 개의 개별“로그”파일을 모두 생성하려면 WinDiff를 5 번 실행해야합니다.

예:

 windiff -SSX same.txt c : \ folder1 d : \ folder2 windiff -SDX different.txt c : \ folder1 d : \ folder2 windiff -SLX left-only.txt c : \ folder1 d : \ folder2 windiff -SRX 오른쪽 전용 .txt c : \ folder1 d : \ folder2 windiff -SLRX 왼쪽-오른쪽 -only.txt c : \ folder1 d : \ folder2 

HTML 형식의 WinDiff 도움말 파일 내용 (windiff.hlp)도 참조하십시오.

WinDiff와 폴더 동기화

또 뭔데? WinDiff는 누락되거나 다른 파일을 왼쪽 (폴더 1) 또는 오른쪽 (폴더 2) 위치로 복사 할 수도 있습니다. 그렇게하려면

  1. 파일 메뉴에서 파일 복사를 선택하십시오.
  2. 누락되거나 다른 파일을 복사 할 폴더 경로를 입력하십시오.

    중요 : 폴더 경로에 공백이 있어도 폴더 경로 주위에 큰 따옴표를 사용하지 마십시오. 경로에 큰 따옴표를 추가하면 WinDiff가 파일을 복사하지 못합니다.

  3. 위치에서 복사를 선택하십시오 (왼쪽 트리에서 오른쪽 트리로 또는 그 반대로).
  4. 동일한 파일을 선택 취소하고 확인을 클릭하십시오.

    WinDiff는 이제 누락 및 변경된 파일을 지정된 위치 (왼쪽 → 오른쪽)에 재귀 적으로 복사하여 폴더를 동기화합니다.

뛰어난 ASCII 및 이진 비교 및 ​​기본 동기화 기능에도 불구하고 WinDiff는 종종 IT 전문가들 사이에서 과소 평가 된 도구입니다. 오래된 사용자 인터페이스를 사용하고 유니 코드를 지원하지 않기 때문입니다. 그러나 WinDiff는 우리 대부분, 특히 영어 OS를 사용하는 사람들에게는 충분합니다.

Microsoft에는 WinDiff에 대한 기술 자료 문서 (Windiff.exe 유틸리티 사용 방법)가 있습니다.

WinMerge를 사용하여 두 폴더의 내용 비교

WinMerge를 사용하여 두 개의 폴더와 하위 폴더를 비교하는 방법은 다음과 같습니다.

WinMerge는 Windows 용 오픈 소스 차이 및 병합 도구입니다. 폴더와 파일을 모두 비교하여 이해하고 다루기 쉬운 시각적 텍스트 형식으로 차이점을 제시 할 수 있습니다. 이를 사용하여 두 폴더의 내용과 하위 폴더 (예 : 재귀)를 비교해 봅시다.

  1. WinMerge를 시작하십시오. 파일 메뉴에서 열기를 클릭하십시오.

  2. 비교할 첫 번째 폴더두 번째 폴더 를 찾아 선택하십시오.
  3. 모든 파일을 비교할 수 있도록 필터가 *.* 설정되어 있는지 확인하십시오. “하위 폴더 포함”(반복적으로 비교) 옵션은 기본적으로 활성화되어 있습니다. 최상위 디렉토리에서만 파일을 비교하려면 옵션을 선택 취소하십시오.
  4. 비교를 클릭 하십시오

    WinMerge는 폴더 차이 결과를 생성하여 노란색의 차이점을 강조 표시합니다.

  5. 도구 메뉴에서 열 사용자 정의…를 클릭하십시오. 제공된 수많은 다른 열 옵션에서 Left date 열, Right size, Left date, Right date 와 같은 원하는 열을 선택하십시오.

  6. " 폴더가 다릅니다 "항목을 두 번 클릭하여 확장하십시오. 다른 파일 목록, " 왼쪽 만 ", " 오른쪽 만 "및 동일한 파일 목록이 표시됩니다.

    참고 : WinMerge의보기 메뉴에서 "동일한 항목 표시"를 선택 취소하여 동일한 파일과 폴더를 숨기도록 선택할 수 있습니다.

WinMerge를 사용하면 다음과 같은 5 가지 파일 비교 방법을 선택할 수 있습니다.
  1. 전체 내용 (기본값) : 모든 종소리와 호루라기를 사용하여 내용별로 파일을 전체 비교합니다. 이 메소드는 플러그인을 호출하고 diffutils 엔진을 사용하여 완전히 정확한 차별화 및 이동 블록 감지를 수행합니다. 이것이 가장 완전하고 권장되는 방법입니다.
  2. 빠른 내용 : 내용 별로 파일을 간단히 비교합니다. 이 방법은 간소화 된 파일 비교 코드를 사용하여 플러그인을 건너 뛰고 블록 탐지를 이동합니다. 이 방법은 파일을로드하지 않기 때문에 전체 내용보다 빠릅니다. 단점은 비교할 때 라인 필터가 적용되지 않는다는 것입니다. 예를 들어, 이 방법은 라인 필터가 파일의 모든 차이점을 무시하도록 설정되어 있어도 파일이 다른 것으로 간주합니다.
  3. 수정 날짜 : 파일의 수정 날짜 만 비교하므로 내용 방법 중 하나보다 훨씬 빠릅니다. 그러나 분명히 수정 날짜만큼 정확합니다.
  4. 수정 된 날짜 및 크기 : 수정 된 날짜와 유사하지만 날짜가 동일한 경우 파일 크기도 확인합니다.
  5. 크기 : 파일 크기 만 비교하므로 내용 방법보다 빠르지 만 정확하지는 않습니다.

WinMerge는 많은 명령 줄 스위치를 지원합니다. 지원되는 전체 명령 행 스위치 목록은 WinMerge 매뉴얼을 확인하십시오.

WinMerge와 폴더 동기화

WinMerge의보기 메뉴에서 동일한 항목 표시를 선택 해제 한 경우 수정 된 왼쪽 전용 파일과 오른쪽 전용 파일 목록 만 표시됩니다. 왼쪽에서 오른쪽으로 또는 그 반대로 쉽게 항목을 동기화 할 수 있습니다.

파일을 선택 (또는 모두 선택)하고 마우스 오른쪽 단추로 선택한 항목을 클릭하고 복사를 클릭하면됩니다. 복사 하위 메뉴에서 옵션 중 하나를 선택하십시오.

  1. 왼쪽에서 오른쪽으로 : 선택한 파일을 왼쪽 폴더에서 오른쪽으로 복사합니다.
  2. 왼쪽에서… : 파일을 왼쪽 폴더에서 다른 폴더로 복사합니다.
  3. 오른쪽에서 왼쪽으로 : 선택한 파일을 오른쪽 폴더에서 왼쪽으로 복사합니다.
  4. Right to… : 파일을 오른쪽 폴더에서 다른 폴더로 복사합니다.


방법 3 : FreeFileSync를 사용하여 두 폴더의 파일을 비교하는 방법

FreeFileSync는 모든 중요한 파일의 백업 복사본을 생성하고 관리하는 오픈 소스 소프트웨어 폴더 비교 및 ​​동기화 소프트웨어입니다.

  1. FreeFileSync를 다운로드하여 설치하십시오.
  2. 파일 크기 나 수정 한 날짜 대신 파일 내용으로 폴더를 비교하려면 비교 옵션에서 파일 내용 을 선택하십시오. 그러나 파일 크기를 비교하면 훨씬 빠르고 자원 집약적입니다.
  3. 왼쪽 폴더와 오른쪽 폴더를 선택하십시오.
  4. 비교 (파일 내용) 버튼을 클릭하십시오.

    두 폴더의 항목을 재귀 적으로 비교하고 새 파일 및 변경된 파일 목록을 표시합니다.

    동일한 파일이 출력에 숨겨집니다. 기본적으로 왼쪽 전용 파일, 다른 파일 및 오른쪽 전용 파일이 표시되며 FreeFileSync 창의 맨 아래에있는 단추를 사용하여 옵션을 전환 할 수 있습니다.

FreeFileSync를 사용하여 폴더 동기화

FreeFileSync는 Microsoft SyncToy와 유사한 다음 동기화 옵션을 제공합니다.

  1. 양방향 동기화 : 양쪽에서 변경 사항을 식별하고 적용합니다. 삭제, 이동 및 충돌은 데이터베이스를 사용하여 감지됩니다.
  2. 미러 : 미러는 왼쪽 → 오른쪽 동기화입니다. 오른쪽 폴더는 왼쪽 폴더의 미러 사본이됩니다. Microsoft SyncToy의 에코 옵션 및 robocopy / mir 명령 줄과 동일합니다. 오른쪽 폴더의 추가 파일과 폴더가 제거되고 다른 파일이 바뀝니다.
  3. 업데이트 : 이 동기화 옵션은 미러 옵션과 유사한 왼쪽 폴더 → 오른쪽 폴더 동기화를 수행합니다. 그러나이 옵션은 오른쪽 폴더 트리에서 추가 파일과 폴더를 삭제하지 않습니다. Microsoft SyncToy의 Contribute 옵션과 유사합니다.
  4. 사용자 정의 : 위의 세 가지 사전 설정 옵션 외에도 사용자 정의 옵션을 사용하면 왼쪽 전용 파일, 변경된 파일 또는 오른쪽 전용 파일을 처리하는 방법에 대한 기본 작업을 선택할 수 있습니다. 예를 들어, 왼쪽 및 오른쪽 폴더에 고유 한 파일 (중복 제거) 만 있으면 동일한 파일을 삭제하도록 구성 할 수 있습니다. 대부분의 경우 특별한 요구 사항이 없으면 사용자 지정 설정을 선택할 필요가 없습니다.

기본적으로 양방향 동기화가 수행됩니다. 개인적으로 웹 사이트 프로젝트의 미러 백업과 문서의 백업 업데이트 옵션을 선호합니다. 그에 따라 동기화 옵션 중 하나를 선택하십시오.

비교 결과에서 모든 파일이 기본적으로 선택됩니다. 파일 이름 옆의 확인란을 선택 취소하거나 마우스 오른쪽 버튼 메뉴를 통해 파일 동기화를 제외 할 수 있습니다.

  • 목록에 표시된 모든 항목을 동기화하려면 상단의 동기화 버튼을 클릭하십시오.
  • 특정 파일 또는 파일 세트를 동기화하려면 마우스 오른쪽 버튼 메뉴를 통해 모든 항목을 (일시적으로) 제외하고 선택한 파일의 확인란을 활성화하고 선택 항목을 마우스 오른쪽 단추로 클릭 한 다음 선택 항목 동기화 를 클릭하고 시작을 클릭 하십시오 .

그게 다야! 이제 폴더가 동기화되었으며 FreeFileSync에 의해 복사 / 업데이트 / 삭제 작업이 기록됩니다.

로컬 폴더 대 비교 및 ​​동기화 재귀 적으로 FTP 폴더

FreeFileSync는 로컬 폴더와 Google 드라이브를 비교하거나 로컬 폴더와 FTP 또는 SFTP 연결을 사용하여 FTP 서버를 재귀 적으로 비교할 수도 있습니다. 다음은 로컬 폴더와 하위 폴더를 FTP 서버의 폴더와 비교하고 동기화하는 방법입니다.

왼쪽 창의 오른쪽에있는 찾아보기 버튼 옆에있는 온라인 스토리지 액세스 버튼을 클릭하기 만하면됩니다. 해당 버튼을 클릭하면 다음 대화 상자가 열립니다.

FTP 또는 SFTP 연결 정보, 자격 증명 및 FTP 디렉토리 경로를 입력하여 로컬 폴더와 비교하십시오.

완료되면 이제 비교 창으로 돌아갑니다.

파일 크기 또는 파일 시간 및 크기 비교 방법을 선택하십시오. 후자의 비교 방법이 더 안정적입니다.

동기화 변형을 선택하십시오. 이 목적을 위해 광산 대신 양방향 동기화로 설정했습니다.

구성된 후에는 비교를 클릭하십시오. 왼쪽 및 오른쪽 폴더에 누락되거나 다른 파일 목록이 표시됩니다.

양방향 동기화가 선택되었으므로 동기화 단추를 클릭하여 파일을 양방향으로 복사하십시오. FTP 위치 만 업데이트하려면 대신 미러 동기화를 선택하십시오.

배치 작업으로 FreeFileSync 실행 | 명령 줄 동기화

위의 구성을 배치 작업에 저장하고 명령 줄 또는 스케줄러를 통해 실행할 수 있습니다. 구성을 저장하고 명령 행을 사용하여 실행하려면 다음 단계를 수행하십시오.

  1. 파일 메뉴에서 일괄 작업으로 저장… 옵션을 클릭 하십시오 .

  2. 일괄 작업이 최소화되도록 실행하도록 구성하고 동기화가 완료되면 창을 자동으로 닫을 수 있습니다.

  3. 배치 작업 파일을 선택한 폴더 (예 : d : \ BatchRun.ffs_batch)에 저장하십시오.
  4. 그런 다음 명령 줄을 사용하여 폴더를 동기화하려면 다음 명령 줄 구문을 사용하십시오.
     C : \ Program Files \ FreeFileSync \ FreeFileSync.exe d : \ BatchRun.ffs_batch 

    Windows 배치 파일을 만들거나 원하는대로 작업 스케줄러를 통해 위의 명령을 정기적으로 실행할 수 있습니다.

팁 : FreeFileSync는 폴더를 Google 드라이브와 동기화 할 수도 있습니다.


방법 4 : TotalCommander를 사용하여 두 폴더의 파일을 비교하는 방법

Total Commander는 파일을 복사, 이동 또는 삭제할 수있는 Windows 용 파일 관리자입니다. 총 사령관은 그 이상을 할 수 있습니다. 파일 압축 및 압축 풀기, FTP 서버 액세스, 컨텐츠 별 파일 비교 등을 수행 할 수 있습니다.

  1. Total Commander를 시작하고 비교할 왼쪽 폴더와 오른쪽 폴더를 선택하십시오.
  2. 명령 메뉴에서 디렉토리 동기화…를 클릭하십시오 .

    디렉토리 동기화 대화 상자를 사용하면 서브 디렉토리를 포함하여 두 디렉토리를 서로 비교 한 후 차이점이있는 파일을 대상 디렉토리 또는 다른 디렉토리에 복사 할 수 있습니다.

    비대칭 옵션을 선택하면 RoboCopy / MIR 명령 줄 또는 Microsoft SyncToy의 Echo 옵션과 유사한 오른쪽 폴더가 왼쪽의 미러가됩니다. 즉, 이 옵션은 누락되거나 다른 파일을 올바른 폴더로 복사하고 오른쪽의 추가 파일과 폴더가 삭제됩니다.

    출력에 동일한 파일 또는 다른 파일 만 표시하도록 선택할 수 있습니다.

    총 사령관의 비교 / 동기화 옵션은 아래에 설명되어 있습니다.

    비대칭이 옵션을 선택하면 오른쪽에 왼쪽 사본이 작성되어야합니다. 왼쪽에없는 파일은 오른쪽에 삭제 표시됩니다. 이 옵션은 백업용입니다.
    하위 디렉토리또한 선택한 두 디렉토리의 하위 디렉토리를 비교합니다.
    내용으로크기와 날짜가 같은 파일의 내용을 비교합니다. 파일의 내용이 동일한 지 확인합니다.
  3. “Subdirs”, “content by”비교 옵션을 선택하십시오.

    중요 : 날짜 무시 확인란을 선택하면 파일 크기가 다르더라도 Total Commander가 다른 / 변경된 파일을 찾지 못합니다. Total Commander의 버그 인 것 같으며 매번 재현 할 수 있습니다.

  4. 표시 섹션에서 등호 파일 ( = 기호로 표시)을 비활성화하고 다른 세 개의 버튼을 활성화하십시오.
  5. 단일복제 옵션을 활성화하십시오.
  6. 비교 버튼을 누릅니다

총 사령관 – 폴더 비교 명령 줄 인수

“Synchronize dirs”를 시작하려면 다음 명령 줄 구문을 사용할 수 있습니다.

 TOTALCMD64.EXE / S = S d : \ folder_1 d : \ folder_2 

그런 다음 옵션을 구성하고 비교 버튼을 누릅니다.

"디너 스 동기화"를 시작하고 폴더를 즉시 비교하려면 다음 구문을 사용하십시오.

 TOTALCMD64.EXE / S = S : = d : \ folder_1 d : \ folder_2 

(비교는 전달 된 디렉토리와 마지막으로 사용한 옵션으로 시작됩니다.)

선택적으로 /S=S:SettingsName 형식으로 설정 이름을 입력하여 이전에 저장된 설정에 따라 비교가 즉시 시작되도록 할 수도 있습니다.

TotalCommander를 사용하여 폴더 동기화

  1. 비교 창에서 복사 할 파일을 선택하십시오. 두 비교 열 사이의 확인란을 클릭하거나 마우스 오른쪽 버튼 메뉴에서 옵션 중 하나를 선택하면됩니다.

    기본적으로이 기능은 복사 할 모든 최신 파일을 선택합니다. 파일이 복사 또는 동기화되지 않도록 파일을 선택 취소하려면 화살표를 두 번 클릭하십시오. 여러 파일을 선택 해제하려면 파일을 선택하고 항목을 마우스 오른쪽 버튼으로 클릭 한 다음 선택 제거를 선택하십시오.

    중요 사항 : 비대칭 옵션을 사용하지 않으면 오른쪽 폴더의 파일이 왼쪽 폴더의 파일보다 최신 파일 인 경우 해당 파일에 대해 오른쪽 → 왼쪽에서 동기화가 실행됩니다. 다른 방법으로 변경하려면 파일 옆의 화살표를 클릭하여 동기화 방향을 전환하십시오.

    또는 파일을 마우스 오른쪽 버튼으로 클릭하고 반전 복사 방향 을 선택하여 동기화 방향을 변경할 수 있습니다.

  2. 동기화를 클릭하십시오. 선택한 파일을 복사 할 수있는 대화 상자가 열립니다.

    기본적으로 두 가지 방법을 동기화합니다. 예를 들어 왼쪽 폴더 → 오른쪽 폴더와 같은 한 가지 방법으로 동기화하려면 오른쪽에서 왼쪽으로 확인란을 선택 취소하고 그 반대도 마찬가지입니다.

팁 : Total Commander를 사용하면 로컬 디렉토리와 FTP 서버의 디렉토리를 동기화 할 수도 있습니다.


방법 5 : DSynchronize를 사용하여 실시간으로 폴더 비교 및 ​​동기화

DSynchronize는 두 폴더를 수동 또는 자동으로 실시간으로 동기화 할 수있는 유용한 도구입니다. 이 도구는 다른 폴더 동기화 도구보다 많은 옵션을 제공하여 파일 동기화 방법을 구성 할 수 있습니다.

  1. DSynchronize를 시작하고 소스 및 대상 폴더를 구성하십시오.
  2. JOBS 버튼을 클릭하여 사용자 정의 작업 이름 (나중의 자동화를 위해)을 지정할 수 있습니다. 작업 이름을 Uploads 로 설정하겠습니다
  3. 미러 동기화의 경우 양방향 동기화가 비활성화되어 있는지 확인하십시오.
  4. 두 폴더를 동기화하지 않고 비교 (전용)를 수행하려면 일반 섹션에서 동기화 미리보기 옵션을 활성화하십시오.

  5. 동기화 버튼을 클릭하여 두 위치에서 새로 업데이트되거나 누락 된 파일 목록을 봅니다.

폴더 동기화

폴더를 동기화하려면 일반 섹션에서 미리보기 동기화 옵션을 선택 취소하고 동기화 를 클릭하십시오. 기본적으로 미러 모드 동기화를 수행합니다. 미러 모드는이 기사의 앞부분에서 논의되었습니다. 미러 모드는 오른쪽 폴더가 왼쪽 폴더와 정확히 동일한 지 확인합니다. 대상에있는 추가 디렉토리 및 파일은 자동으로 제거됩니다.

실시간 동기화

두 개의 폴더를 실시간으로 동기화하려면 :

  1. 타이머 섹션에서 실시간 동기화를 클릭하십시오.
  2. 원하는대로 실시간 동기화 설정을 구성하십시오. 기본 설정을 사용했습니다.

    기본적으로 10 초 후에 폴더를 자동으로 동기화합니다. 추가 지연을 구성하거나 지정된 간격으로 실행되도록 예약 할 수 있습니다.

  3. 폴더를 재귀 적 으로 동기화하려면 모니터 하위 폴더 확인란을 선택하십시오.

일부 파일을 왼쪽 폴더 (소스)에 복사했으며 10 초 내에 항목이 오른쪽 폴더에 자동으로 동기화되었습니다. 이 애니메이션 GIF에서 볼 수 있습니다.

또한 변경 사항 (파일 또는 폴더 추가 및 삭제)이 기본 창에 기록됩니다.

실시간 동기화가 활성화되면 파일 변경을 모니터링하고 프로그램은 변경을 기다리는 알림 영역에 있습니다. 많은 CPU 리소스 나 메모리를 사용하지 않습니다. 마지막으로 확인한 결과 약 10MB의 메모리 만 사용되었습니다.

다음은 DSynchronize의 주요 기능 목록입니다.

  • 표준 및 타이머 동기화
  • 실시간 동기화.
  • 양방향 동기화.
  • NTFS의 저널에 의한 트랜잭션 동기화.
  • 선택적 필터 (단일 파일 또는 폴더를 제외 할 수 있음).
  • 서비스로 시작하십시오 (프로그램은 로그인 할 필요가 없습니다).
  • 심볼릭 링크 및 하드 링크를 지원합니다.
  • 정션 및 마운트 포인트를 지원합니다.
  • ACL을 지원합니다.
  • 이메일로 보낸 로그.
  • 대체 된 파일의 이전 버전 백업
  • 바이트 대 바이트 비교.
  • 각각 설정과 동기화 경로가있는 여러 작업을 지원합니다.
  • 최소 리소스 소비 (RAM 및 CPU).

명령 줄 지원

다음 명령 줄을 사용하여 DSynchronize를 자동화 할 수 있습니다.

/START = 마지막으로 저장된 옵션과 동기화를 시작합니다.

/STARTJOB "JobName" = 선택된 작업 옵션과의 동기화 시작).

/MINIMIZE = 트레이 바에서 최소화를 시작합니다.

/HIDDEN = 트레이 표시 줄에 아이콘을 표시하지 않습니다.

/NOSECURITYCHECK = 동기화 전에 보안 검사를 수행하지 않습니다.

/NOMONITORCHECK = 모니터 해상도를 확인하지 마십시오.

/AUTOREALTIME = 최소화 된 시작, 표준 동기화 및 실시간 활성화.

/SOMEFILE.INI = 선택된 INI 파일 사용을 시작합니다.

프로그램 메인 창의 상단에있는 JOBS 버튼을 클릭하여 작업 이름을 사용자 정의 할 수 있습니다.

예를 들어, 두 개의 폴더 (이전에“업로드”라는 이름으로 저장된 작업)를 자동으로 동기화하려면이 명령을 실행합니다.

 "D : \ dsynchronize \ DSynchronize.exe"/ STARTJOB "업로드"/ MINIMIZE 

"Uploads"라는 두 폴더를 동기화하고 실시간 동기화를 활성화하려면 다음을 실행하십시오.

 "D : \ dsynchronize \ DSynchronize.exe"/ STARTJOB "업로드"/ AUTOREALTIME 

위 명령은 작업에 이름이 지정된 두 폴더를 동기화하고 실시간 모니터링을 자동으로 활성화합니다. 알림 영역에서 실시간 모니터링 아이콘을 볼 수 있습니다.

그게 다야!


방법 6 : File Hash Checksum을 사용하여 HashMyFiles 유틸리티와 두 폴더 비교

HashMyFiles는 파일의 해시 체크섬을 계산하는 작은 유틸리티입니다. 폴더 및 하위 폴더의 파일에 대한 해시를 재귀 적으로 계산할 수 있습니다. HashMyFiles를 사용하면 결과를 파일로 저장할 수 있습니다. 마우스 오른쪽 버튼 클릭 메뉴를 통해 해시 체크섬을 계산할 수도 있습니다.

PowerShell이 ​​차가 아닌 경우 Nirsoft.net의 HashMyFiles 유틸리티를 사용하여 파일 해시를 비교하십시오.

소스 폴더 트리의 파일 이름과 해당 해시 출력을 source.txt에 저장할 수 있습니다. 마찬가지로 대상 폴더 트리의 항목을 destination.txt로 저장하십시오.

이 예에서는 다음 폴더의 파일을 비교합니다.

 D : \ 웹 사이트 \ Winhelponline \ 블로그 \ wp-content \ uploads \ 2019 E : \ RameshPC 동기화 백업 \ 웹 사이트 \ Winhelponline \ blog \ wp-content \ uploads \ 2019 

다음 단계따라 HashMyFiles를 사용하여 파일 해시를 생성하고 비교하십시오.

  1. HashMyFiles를 다운로드하여 실행하십시오.
  2. 옵션 메뉴에서 해시 유형을 클릭하고 SHA-256을 선택하십시오.

  3. 보기 메뉴에서 열 선택을 클릭 하십시오.

  4. 열 설정에서 옵션 SHA-256, 전체 경로파일 크기를 활성화하십시오. 확인을 클릭하십시오.
  5. 파일 메뉴를 클릭하고 폴더 추가를 선택 하십시오.
  6. 비교할 소스 폴더를 선택하십시오.

  7. 하위 폴더에 파일 추가를 클릭하여 선택하고 확인을 클릭하십시오.
  8. 전체 경로 열별로 결과를 정렬하고 모든 항목을 선택하십시오.
  9. 파일 메뉴에서 선택한 항목 저장을 클릭 하십시오.
  10. 목록을 source.txt 라는 파일에 저장하십시오 .
  11. 파일 메뉴에서 모두 지우기 를 선택하여 결과를 지우십시오.
  12. 위 단계를 반복하고 이번에는 대상 폴더를 선택하고 목록을 destination.txt에 저장하십시오.
  13. 이제 메모장을 사용하여 source.txtdestination.txt 파일을 편집하고 기본 경로를 제거하십시오. 메모장의 찾기 옵션을 사용하여 아래의 모든 기본 경로를 찾아 빈 문자열로 바꿉니다.
     D : \ 웹 사이트 \ Winhelponline \ blog \ wp-content \ 
  14. destination.txt 파일에서 마찬가지로이 기본 경로를 제거하십시오.
     E : \ RameshPC 동기화 백업 \ 웹 사이트 \ Winhelponline \ blog \ wp-content \ 

    구분 기호로 사용되는 = 기호를 찾아서 제거 할 수도 있습니다.

    파일이 다음과 같이 보입니다.

  15. 이제 WinDiff 또는 자주 사용하는 파일 비교 도구를 실행하여 차이점을 확인하십시오.

다른 파일, 추가 파일 및 누락 된 파일 목록이 표시됩니다.


방법 7 : Robocopy를 사용하여 두 폴더의 파일을 비교하는 방법

내장 Robocopy 콘솔 유틸리티를 사용하여 두 폴더의 내용을 비교하는 방법을 알아 보겠습니다.

Robocopy (“Windows 용 강력한 파일 복사”)는 Windows에 내장 된 뛰어난 파일 복사 도구로, 엄청난 기능을 갖추고 있습니다. Robocopy의 기능은 기본 제공 Windows 복사 및 XCopy 명령보다 뛰어납니다. Robocopy는 파일 이름뿐만 아니라 마지막으로 수정 된 시간도 비교하므로 RoboCopy는 모든 명령 줄 방법 ​​중에서 가장 선호됩니다. 소스 및 대상 경로에서 수정 된 파일 및 새 파일 / 폴더 목록을보고합니다.

뛰어난 기능 중에는 "미러"모드 복사 (Microsoft SyncToy의 " Echo "옵션과 유사), 네트워크 중단시 복사 재시도 기능, 멀티 스레드 복사 등이 있습니다. 파일 복사 외에 Robocopy를 사용하여 비교할 수 있습니다. 두 폴더의 내용을 (재귀 적으로)하고 드라이 런 과 같은 것을 복사하지 않고 차이점을 기록하십시오.

대본

내 웹 사이트 파일은 정기적으로 외장 하드 드라이브 ( E:\ )에 동기화됩니다. 설명을 위해이 두 폴더가 동일한 지 확인하십시오. 이 예에서는 다음 폴더를 재귀 적으로 비교합니다 (즉, 하위 폴더와 함께 자세히 비교).

 D : \ 웹 사이트 \ Winhelponline \ blog \ wp-content \ uploads 및 E : \ RameshPC 동기화 백업 \ 웹 사이트 \ Winhelponline \ blog \ wp-content \ uploads 
  1. 명령 프롬프트 창을 엽니 다.
  2. 다음 명령을 실행하고 Enter 키를 누릅니다 :
     robocopy "D : \ 웹 사이트 \ Winhelponline \ blog \ wp-content \ uploads" "E : \ RameshPC 동기화 백업 \ 웹 사이트 \ Winhelponline \ blog \ wp-content \ uploads"/ L / TS / MIR / LOG : D : \ Diff.txt 

    위 명령의 결과는 D:\Diff.txt 파일에 기록됩니다.

  3. 명령 프롬프트 창을 종료하십시오.

사용 된 Robocopy 명령 행 스위치에 대한 세부 사항

  • /L :: 목록 만 – 파일을 복사, 타임 스탬프 또는 삭제하지 않습니다. 이 옵션은 로깅 목적으로 만 사용됩니다. 드라 이런 용.
  • /MIR :: 디렉토리 트리를 미러링합니다 (/ E plus / PURGE와 동일). /L 스위치와 함께 사용하므로 실제로 파일 / 폴더가 복사되지 않습니다.
  • /TS :: 출력에 소스 파일 타임 스탬프를 포함시킵니다.
  • /LOG:file :: LOG 파일로 출력 상태 (기존 로그 덮어 쓰기)

이 예에서는 출력을 D:\Diff.txt 작성합니다. 로그 모양은 다음과 같습니다.

  ------------------------------------------------------------------------------- ROBOCOPY :: Robust File Copy for Windows ------------------------------------------------------------------------------- Started : Monday, April 8, 2019 5:06:10 PM Source : D:\Websites\Winhelponline\blog\wp-content\uploads\ Dest : E:\RameshPC-Synced Backup\Websites\Winhelponline\blog\wp-content\uploads\ Files : *.* Options : *.* /TS /L /S /E /DCOPY:DA /COPY:DAT /PURGE /MIR /R:1000000 /W:30 ------------------------------------------------------------------------------ 583 D:\Websites\Winhelponline\blog\wp-content\uploads\ *EXTRA Dir -1 E:\RameshPC-Synced Backup\Websites\Winhelponline\blog\wp-content\uploads\2019\videos\ *EXTRA File 821886 2019/04/07 07:19:24 tiktok-superman-dance.mp4 3 D:\Websites\Winhelponline\blog\wp-content\uploads\2019\Scripts\ Older 210 2019/04/08 10:54:59 0x80071A91.vbs Newer 211 2019/04/08 11:35:32 ErrCodeFinder.vbs New File 211 2019/04/08 11:35:32 Sample.vbs 211 D:\Websites\Winhelponline\blog\wp-content\uploads\h1-10\ 83 D:\Websites\Winhelponline\blog\wp-content\uploads\h1-11\ 1 D:\Websites\Winhelponline\blog\wp-content\uploads\reg\ 9 D:\Websites\Winhelponline\blog\wp-content\uploads\temp\ ------------------------------------------------------------------------------ Total Copied Skipped Mismatch FAILED Extras Dirs : 113 0 113 0 0 1 Files : 4125 3 4122 0 0 1 Bytes : 59.96 m 632 59.95 m 0 0 802.6 k Times : 0:00:00 0:00:00 0:00:00 0:00:00 Ended : Monday, April 8, 2019 5:06:10 PM 

소스 및 대상 폴더에서 추가 디렉토리 및 파일을 명확하게 볼 수 있습니다. 또한 타임 스탬프를 비교하여 파일이 오래되었거나 최신인지 (대상의 동일한 파일과 비교) 알려줍니다.

이 예에서 발견 된 차이점은 다음과 같습니다.

  1. * EXTRA Dir : 추가 디렉토리가 대상에 있지만 소스는 없습니다.
  2. * EXTRA File : 추가 파일이 대상에 존재하지만 소스에는 없습니다.
  3. Older :이 파일은 대상의 파일보다 오래된 파일입니다.
  4. 최신 :이 파일은 대상의 파일보다 최신입니다.
  5. 새 파일 :이 파일 대상에 없습니다 . Lonely 파일이라고도합니다

RoboCopy 파일 분류의 전체 목록 :

 ----------- ----------- ---------------- ------------ --- ------------- ------------ Classifi_ 존재 소스 / 대상 소스 / 대상 소스 / 대상 양이온 소스 대상 파일 시간 파일 크기 속성 ----------- ----------- ---------------- ------------ --- ------------- ------------ 최신 예 예 Src> 대상 없음 / 없음 이전 예 예 Src <대상 없음 / an / a 새로운 예 아니오 n / an / an / a 추가 아니오 예 n / an / an / a 변경 예 예 동일하지 않음 해당 없음 동일 예 예 동일 동일 동일 조정 됨 예 예 동일 같음 다른 일치하지 않음 예 (파일) 예 (디렉토리) n / an / an / a ----------- ----------- ---------------- ------ --------- ------------- ------------ 

참고 : 조정 된 파일은 크기와 타임 스탬프는 동일하지만 속성 설정이 다른 소스와 대상 모두에 존재하는 파일로 정의됩니다.

Robocopy는 여러 수준의 하위 폴더와 함께 두 폴더의 파일을 비교 및 ​​동기화하고 로그 파일의 차이점을 나열하는 놀라운 도구입니다.

Robocopy를 사용하여 폴더 동기화

폴더 (왼쪽 → 오른쪽 폴더 에서만 )를 RoboCopy와 동기화하려면 이전에 폴더를 비교할 때 사용한 것과 동일한 명령 줄 구문을 사용하지만 이번에는 /L (목록 전용) 스위치가 없습니다.

RoboCopy는 단방향 동기화를 수행합니다 (왼쪽 → 오른쪽 폴더에서)

RoboCopy의 미러 복사 모드 ( /MIR )는 Microsoft SyncToy의 " Echo "기능과 유사합니다. RoboCopy는 양방향 동기화가 아니라 왼쪽 → 오른쪽 동기화 만 수행합니다.

/MIR 스위치는 대상 폴더 트리에서 추가 파일과 디렉토리제거 한다는 점에 유의해야합니다. "추가"파일 / 폴더는 대상에는 있지만 소스 경로에는없는 항목입니다. /MIR (미러) 명령은 대상 폴더 구조 (및 파일)가 소스의 정확한 사본인지 확인합니다.

다음 명령 줄 구문을 사용하여 왼쪽 → 오른쪽 폴더에서 항목을 동기화하십시오.

 robocopy source_folder destination_folder / MIR / MT 

/MT 스위치는 초고속 복사 작업을 위해 다중 스레드 복사를 수행하는 것입니다. 옵션 스위치이지만 매우 유용합니다.

처리 된 각 항목에 대해 콘솔에 동기화 상태가 출력되고 통계는 출력의 끝에 표시됩니다.

출력을 파일에 로그하려면 다음 구문을 사용하십시오.

 robocopy source_folder destination_folder / MIR / MT / TS /LOG:D:\Diff.txt 

배치 파일을 사용하여 명령 자동화

모든 Robocopy 명령을 메모장에 추가하고 Windows 배치 파일 ( .bat 확장자)로 저장할 수 있습니다. 언급 된 폴더를 동기화 할 때마다 배치 파일을 두 번 클릭하면됩니다. 작업 스케줄러를 사용하여 필요한 간격으로 배치 파일을 실행할 수도 있습니다.


방법 8 : FCIV 유틸리티와 함께 ​​File Hash Checksum을 사용하여 두 폴더 비교

암호화 해싱 알고리즘 (예 : MD5, SHA-1)을 사용하면 두 파일이 동일한 지 여부를 확인할 수 있습니다. 체크섬은 파일에서 데이터 무결성 검사를 수행하는 데 사용되는 해시 값입니다. 파일의 일종의 서명입니다.

FCIV ( Microsoft File Checksum Integrity Verifier) 도구는 파일의 MD5 또는 SHA1 암호화 해시를 계산하는 명령 줄 유틸리티입니다. MD5 또는 SHA1 해시와 함께 파일 목록을 XML 데이터베이스로 출력 한 다음 대상 폴더의 파일을 XML 데이터베이스 파일에 저장된 해시와 비교할 수 있습니다.

이 방법은 위의 방법 중 하나 (예 : Robocopy 또는 WinDiff)를 사용하여 두 폴더를 동기화 한 후 파일 해시 / 체크섬을 소스 위치와 비교하여 각 대상 파일의 무결성을 확인하려는 경우에 특히 유용합니다.

대본:

FCIV를 사용하여 다음 폴더의 내용을 재귀 적으로 비교해 보겠습니다.

 D : \ 웹 사이트 \ Winhelponline \ blog \ wp-content \ uploads E : \ RameshPC 동기화 백업 \ 웹 사이트 \ Winhelponline \ blog \ wp-content \ uploads 

공식 Microsoft 다운로드 센터에서 Microsoft File Checksum Integrity Verifier를 다운로드하고 fciv.exe 를 폴더 (예 d:\tools 추출하십시오. 그런 다음 다음 방법 중 하나를 따르십시오.

옵션 1

  1. 명령 프롬프트 창을 열고 다음 명령 줄 구문을 사용하십시오.
     d : \ tools \ fciv.exe -r -add "D : \ 웹 사이트 \ Winhelponline \ blog \ wp-content \ uploads"-bp "D : \ 웹 사이트 \ Winhelponline \ blog \ wp-content"-sha1 -xml d : \ hashdb.xml 

    위의 명령 줄은 각 파일의 SHA1 해시를 재귀 적으로 계산하고 파일 이름과 해당 해시를 hashdb.xml .XML 파일로 hashdb.xml 합니다.

    -bp 매개 변수는 전체 경로 이름에서 제거 할 기본 경로를 지정하는 데 사용됩니다. 기본 경로가 XML 출력에 포함되지 않도록하여 동일한 폴더 구조를 가진 대상 폴더 경로의 항목을 비교할 수 있습니다.

    XML 파일 내용은 다음과 같습니다.

  2. 이제 명령 프롬프트 창에서 다음 명령을 실행하여 대상 폴더로 전환하십시오.
     cd / d "E : \ RameshPC 동기화 백업 \ 웹 사이트 \ Winhelponline \ blog \ wp-content" 
  3. 그런 다음 다음 명령을 실행하고 Enter 키를 누릅니다.
     d : \ tools \ fciv.exe -v -sha1 -xml D : \ hashdb.xml 

    위의 명령은 XML 파일 hashdb.xml 에서 앞서 캡처 한 해시 체크섬에 대해 대상 파일을 확인합니다.

    출력에 수정 된 파일 목록 (해시 체크섬 기반)과 누락 된 파일 목록 (대상에서)이 표시됩니다.

    다음은 샘플 출력입니다.

     체크섬 확인 시작 : 날짜 / 타임 스탬프 수정 된 파일 목록 : ----------------------- uploads \ 2019 \ 05 \ w10-enhanced-search-settings.png 해시 : 8dac0a4400d2b700f81bf70c189e49eb6a620a2f 다음과 같아야합니다. cc2a1523ef070dc2e498dbf5f8cf5edac1b6900d 해시 파일을 올릴 수 없음 \ 2019 \ 05 \ windiff-header.png 오류 메시지 : 시스템이 지정된 파일을 찾을 수 없습니다. 오류 코드 : 2 파일 업로드를 해시 할 수 없습니다 \ 2019 \ 05 \ windows-store-error-0x800706d9.png 오류 메시지 : 시스템이 지정된 파일을 찾을 수 없습니다. 오류 코드 : 2 업로드 \ 2019 \ 05 \ w10-enhanced-search-settings.png 해시 : 8dac0a4400d2b700f81bf70c189e49eb6a620a2f 다음과 같아야합니다. 지정된 파일 오류 코드 : 2 파일 업로드를 해시 할 수 없습니다 \ 2019 \ 05 \ windows-store-error-0x800706d9.png 오류 메시지 : 시스템이 지정된 파일을 찾을 수 없습니다. 오류 코드 : 2 종료 확인 : 타임 스탬프 

위의 방법은 대상 폴더에서 일치하는 파일의 무결성을 확인하는 데 매우 유용합니다. 그러나 대상의 추가 파일 목록은 표시되지 않습니다. That's where Option 2 below has an additional advantage.

Option 2

Rather than outputting the files list and checksums to an XML database, you can output the items in the source and destination to separate text files. Then the text files can be compared using WinDiff, WinMerge, DiffChecker.com or WinCompare utility.

Run these commands from a Command Prompt window.

 fciv -r "D:\Websites\Winhelponline\blog\wp-content\uploads" -bp "D:\Websites\Winhelponline\blog\wp-content" >d:\source.txt fciv -r "e:\RameshPC-Synced Backup\Websites\Winhelponline\blog\wp-content\uploads" -bp "e:\RameshPC-Synced Backup\Websites\Winhelponline\blog\wp-content" >d:\destination.txt 

Then, compare the two files source.txt and destination.txt using a file compare tool like WinDiff, WinMerge, DiffChecker.com, DiffMerge or WinCompare.

You'll see the list of missing files, extra files and modified files (based on the computed checksum) in the two folder locations.

I synchronized the two folders using RoboCopy and then compared the folders again using FCIV hash checksum. They're now identical!


Method 9: Compare Two Folders Using PowerShell

Using PowerShell you can recursively compare two folders easily.

Start PowerShell. Copy the following snippet and paste them all in the PowerShell window, and press ENTER

Enter the source folder and destination folders, replacing the source_folder_path and dest_folder_path placeholders respectively.

 $Folder1 = "source_folder_path" $Folder2 = "dest_folder_path" function Get-Directories ($path) { $PathLength = $path.length Get-ChildItem $path -Recurse | % { Add-Member -InputObject $_ -MemberType NoteProperty -Name RelativePath -Value $_.FullName.substring($PathLength+1) $_ } } Compare-Object (Get-Directories $Folder1) (Get-Directories $Folder2) -Property RelativePath | Sort RelativePath, Name -desc 

You'll see an output like this:

The side indicator <= means the file or folder exists only in the source. ie, missing in the destination.

The side indicator => means the file or folder exists only in the destination. ie, missing in the source.

Editor's note: The above code compares only the file names without matching any other details like size, date modified, etc. PowerShell has the capability to do a hash-comparison of items in two folders and output the results, which is described in the next method.

Sync folders

With some 10 additional lines of PowerShell code, you can even copy the different or missing files from source → destination, or vice versa. For more information, see Sync Files And Folders With PowerShell.


Method 10: Compare Two Folders Using PowerShell with File Hash Checksum

To compare files in two locations using file hash checksum, you can use PowerShell. PowerShell by default uses the SHA-256 algorithm, which you can change using the -Algorithm parameter. As said earlier, hash checksum is a kind of signature for a file which is unique.

In this example, we're going to compare the following folders:

 D:\Websites\Winhelponline\blog\wp-content\uploads\2019 E:\RameshPC-Synced Backup\Websites\Winhelponline\blog\wp-content\uploads\2019 

Use the following command-line to compute the hash for files in the source folder and output the results to source.txt file.

 Get-ChildItem 'D:\Websites\Winhelponline\blog\wp-content\uploads\2019' -Recurse | Get-FileHash | Select Path, Hash | export-csv d:\source.txt -Delimiter "`t" -NoTypeInformation 

Then, run the following command to remove the base paths from the file.

 (gc -path d:\source.txt -raw) -replace 'D:\\Websites\\Winhelponline\\blog\\wp-content\\', '' | Out-File d:\source.txt 

The list of file names (with relative path) along with the SHA-256 hashes are outputted to the source.txt file.

Similarly, run the commands for computing hashes for items in the destination, and then remove the base paths from destinations.txt :

 Get-ChildItem 'E:\RameshPC-Synced Backup\Websites\Winhelponline\blog\wp-content\uploads\2019' -Recurse | Get-FileHash | Select Path, Hash | export-csv d:\destination.txt -Delimiter "`t" -NoTypeInformation 
 (gc -path d:\destination.txt -raw) -replace 'E:\\RameshPC-Synced Backup\\Websites\\Winhelponline\\blog\\wp-content\\', '' | Out-File d:\destination.txt 

The above command computes the hash for each file in the destination folder recursively, and the output is written to d:\destination.txt

Compare using PowerShell

Next, compare the files using the following PowerShell command:

 Compare-Object -ReferenceObject $(Get-Content d:\source.txt) -DifferenceObject $(Get-Content d:\destination.txt) | fl 

It shows the different files and the location of each item denoted by the symbols <= or => for left folder and right folder respectively. The output also shows extra files in the source as well as the destination.

Compare using WinDiff

Alternately, you can run WinDiff and compare d:\source.txt and d:\destination.txt . You can use the following WinDiff command-line to compare the files:

 d:\Tools\windiff.exe d:\source.txt d:\destination.txt 

The WinDiff output shows differences highlighted in yellow/red. From the above screenshot, we can infer that the file 0xc1900101-error.png is different. Also, the destination folder or the right folder (denoted by the symbols !> in WinDiff) has an extra file named 1h.txt .

PowerShell supports many hash algorithms and so it has an advantage over the FCIV.exe tool. The Microsoft FCIV tool supports MD5 and SHA-1 algorithms only, which are outdated and can be ineffective due to collision issues, albeit very rarely. SHA-1 collision means that two files have identical SHA-1 hashes but different content. So, SHA-256 may be the preferred algorithm for file or folder comparison in a production environment.


Note that the command-line methods 11 & 12 below only help you compare the structure of two directories along with files. They don't compare file sizes or modified date to know which is the newer. They only do a plain comparison based on file names and you wouldn't know if one of the destination files becomes corrupt during a copy operation. In a production environment, you may need to use other tools or methods if you need to verify the integrity of your files in the source and destination folders, to make sure they are the exact same copies.

Method 11: List the folder structure using TREE command

To compare two directories along with sub-directories, the good old TREE command comes extremely handy. Suppose you want to compare the two folders (including file names) D:\SOURCE and D:\DEST, follow these steps:

  1. Open a Command Prompt window.
  2. Type these commands:
     TREE D:\SOURCE /A /F >D:\SOURCE.TXT 
     TREE D:\DEST /A /F >D:\DEST.TXT 

    This outputs each of the command results to separate text files in your D:\ drive's root directory. The text files will have your directory structure in a tree format, which makes it easy for comparison work.

    Quick Tip: To compare only the directories, remove the /F flag.
  3. Next, fire up your text comparison utility like WinDiff, WinMerge or DiffMerge. Alternately, you can compare the two text files online via diffchecker.com.
  4. Go to DiffChecker.com and paste the contents of d:\source.txt in one column, and D:\DEST.txt in another column. Click Find differences .

    Directory comparison

    Directory and files comparison

Method 12: List folder structure using the DIR Command

To compare the contents of two directories, another command-line you can use is the DIR command.

Use the following command-line syntax to generate the list of files in a directory recursively. You can then compare it using a compare tool or DiffMerge.

 DIR D:\SOURCE /S /AD /B >D:\SOURCE.TXT 
 DIR D:\DEST /S /AD /B >D:\DEST.TXT 
Quick Tip: To include files along with the directory listing, remove the “/AD” flag.

There is one problem though, when using the DIR command. It lists full directory and file paths in the output, as below:

  1. D:\Source\Apr\Week1
  2. D:\Source\Apr\Week2
  3. D:\DEST\Apr\Week1
  4. D:\DEST\Apr\Week2

In that case, you'll need to remove the comparison base paths D:\SOURCE\ and D:\DEST\ in the respective text files by editing them with Notepad. To bulk replace text, use the Replace option in Notepad and remove every occurrence of the base path.

Once done, save the files and compare the contents online via DiffChecker or using an offline text-comparison tool like WinDiff or WinMerge.

Directory comparison – List generated using DIR instead of TREE

I bet you'll find directory contents output generated using TREE to be much easier and far neater than DIR .


Hope the above methods helped you quickly compare the contents of two folders recursively, identify missing and modified files and reconcile differences.

Let's know your comments!

관련 기사