Cara Membandingkan Isi Dua Folder dan Menyinkronkannya
Mari kita asumsikan Anda membuat tugas cadangan XCopy, SyncToy atau alat lain apa pun untuk menyalin direktori tertentu ke lokasi yang berbeda. Jika Anda menggunakan Microsoft SyncToy, ada kemungkinan bahwa kadang-kadang file atau folder mungkin hilang di tujuan, atau folder tujuan memiliki file atau folder tambahan yang tidak ada di folder sumber.

Artikel ini memberi tahu Anda cara membandingkan struktur direktori (bersama dengan file) di dua jalur direktori yang berbeda untuk memastikan Anda memiliki replika atau salinan mirror sumber yang tepat. Beberapa metode di bawah ini juga membahas cara menyinkronkan item dalam dua folder setelah membandingkan.
Ada 12 metode perbandingan folder (untuk Windows) yang dibahas dalam artikel ini. Pilih salah satu yang paling cocok untuk Anda. Jika Anda perlu memeriksa integritas file setelah sinkronisasi, gunakan salah satu dari prosedur verifikasi checksum hash berikut yang tercantum.
Bandingkan konten dua folder menggunakan Microsoft's WinDiff
WinDiff adalah alat perbandingan file grafis dari Microsoft yang pertama kali dirilis pada tahun 1992 dan kemudian diperbarui. Mohon tunggu sebentar! Jangan kaget pada tahun rilis awal.
WinDiff masih luar biasa dan berfungsi dengan baik di Windows 10, tetapi tidak ada dukungan Unicode. Ini memiliki potensi yang sangat besar. WinDiff dapat membandingkan file ASCII & Binary, membandingkan dua direktori, dan menyinkronkan folder (folder kiri → folder kanan, atau sebaliknya).
Tautan unduhan WinDiff (mirror lokal). Versi WinDiff terakhir diperbarui adalah 5.2.3790.0 dengan cap tanggal dimodifikasi menampilkan 4-7-2016.
Anda juga dapat mengunduh WinDiff sebagai bagian dari paket Alat Dukungan Windows XP, dan mengekstrak isinya menggunakan 7-Zip.
Untuk melakukan perbandingan direktori menggunakan WinDiff:
- Mulai Windiff.exe.
- Pada File menu, klik Bandingkan Direktori.
- Di kotak dialog Pilih Direktori, ketikkan dua nama folder yang ingin Anda bandingkan di kotak Dir1 dan Dir2. Jika Anda ingin membandingkan file dalam folder tersebut secara rekursif, aktifkan kotak centang Sertakan subdirektori .
Hasil atau jendela outline secara default menunjukkan file yang identik serta perbedaannya. Anda dapat menyembunyikan file yang identik dengan menonaktifkan Tampilkan File Identik dari menu Opsi.

Seperti yang Anda lihat, WinDiff tidak hanya membandingkan nama file tetapi juga membandingkan konten file di kedua lokasi dan menyoroti perubahan jika konten file berbeda.

Mengklik dua kali pada item "berbeda" membuka tampilan perbandingan dengan kode warna. Hasil kode warna menunjukkan perbedaan file.
WinDiff dapat melakukan perbandingan ASCII dan biner. Ini berarti, WinDiff tidak bergantung pada tanggal yang dimodifikasi tetapi membandingkan konten sebenarnya dari file.
$config[ads_text6] not foundMisalnya, saya memodifikasi karakter dalam file teks di folder tujuan (Folder kanan). Saya mengganti tanda seru dengan titik dua, dan ukuran file persis sama (1.127 bytes) di kedua lokasi. WinDiff mengambilnya dan menunjukkan bahwa file-file tersebut berbeda.

Untuk menyimpan perbedaan perbandingan direktori ke file, klik Simpan Daftar File di Menu File. Ketikkan nama file dengan path lengkap tanpa tanda kutip ganda.

Hapus centang file Identik dan Sertakan opsi Checksums, dan klik OK. File output akan terlihat seperti ini:
- D: \ Situs Web \ Winhelponline \ blog \ wp-content \ uploads \ 2019: E: \ RameshPC-Synced Backup \ Situs Web \ Winhelponline \ blog \ wp-content \ upload \ 2019 - termasuk hanya kiri, hanya-kanan, file yang berbeda. \ accesschk.exe hanya di E: \ RameshPC-Synced Backup \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019. \ bandingkan-folder.txt hanya di E: \ RameshPC-Synced Backup \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019. \ Fta-1803-w10.txt hanya dalam E: \ RameshPC-Synced Backup \ Situs Web \ Winhelponline \ blog \ wp-content \ upload \ \ 2019. \ Ssh-perintah-berguna .txt hanya di E: \ RameshPC-Synced Backup \ Situs Web \ Winhelponline \ blog \ wp-content \ unggahan \ 2019. \ 05 \ dell-supportassist.png hanya dalam D: \ Websites \ Winhelponline \ blog \ wp-content \ unggahan \ 2019. \ 05 \ disable-theme-sync-ramesh.png berbeda (E: \ RameshPC-Synced Backup \ Situs Web \ Winhelponline \ blog \ wp-content \ unggahan \ 2019 lebih baru). \ 05 \ file-explorer- tidak-highlight-files.png hanya dalam D: \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019. \ 05 \ firefox-forget-about-this-site-4.png berbeda nt (E: \ RameshPC-Synced Backup \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019 lebih baru). \ 05 \ msconfig-disable-services-non-microsoft.png hanya di D: \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019. \ 05 \ windows-store-error-0x800706d9.png hanya dalam D: \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019. \ 06 \ notepad-bing-search .png hanya di E: \ RameshPC-Synced Backup \ Situs Web \ Winhelponline \ blog \ wp-content \ unggahan \ 2019. \ 06 \ rundll32-refresh-commands.txt hanya di E: \ RameshPC-Synced Backup \ Situs Web \ Winhelponline \ blog \ wp-content \ uploads \ 2019. \ 06 \ arsip \ 404chk.vbs hanya di E: \ RameshPC-Synced Backup \ Situs Web \ Winhelponline \ blog \ wp-content \ uploads \ 2019. \ 06 \ arsip \ actxprxy-missing -issues.txt hanya di E: \ RameshPC-Synced Backup \ Situs Web \ Winhelponline \ blog \ wp-content \ unggah \ 2019. \ 06 \ arsip \ apps.png hanya di E: \ RameshPC-Synced Backup \ Situs Web \ Winhelponline \ blog \ wp-content \ unggah \ 2019. \ 06 \ arsip \ artikel.vbs hanya di E: \ RameshPC-Synced Backup \ Situs Web \ Winhelponline \ blog \ wp-content \ upl oads \ 2019. \ 06 \ arsip \ bash-sh.vbs hanya di E: \ RameshPC-Synced Backup \ Situs Web \ Winhelponline \ blog \ wp-content \ upload \ 2019 - 17 file terdaftar
Karena file output dalam format pembatasan-tab, Anda seharusnya dapat mengimpor ke Microsoft Office Excel atau Google Sheets dengan mudah.

windiff.exe "c:\source" "d:\destination"
akan meluncurkan alat dan langsung membandingkan kedua jalur folder tersebut. Switch baris perintah WinDiff
Berikut adalah daftar lengkap sakelar baris perintah WinDiff.
Penggunaan: windiff [options] path1 [path2] Pilihan: -D Bandingkan satu direktori saja. -F [flags] savefile Simpan file komposit ke 'savefile'. 'Bendera' dapat terdiri dari satu atau lebih I (identik), L (kiri), R (kanan), F (pindah leFt), G (pindah riGht), S (Mirip kiri), A (kiri serupa), X (keluar setelah menyimpan daftar). (mis. -FLF menyimpan daftar garis Kiri atau pindah-kiri). -Saya membaca daftar file untuk membandingkan, dari file input yang ditentukan. Setiap baris dapat berisi satu atau dua nama file, spasi dibatasi (dengan kutipan, jika nama file mengandung spasi). Gunakan "-" sebagai nama file untuk dibaca dari stdin. Jika suatu baris hanya berisi satu nama file, file tersebut dibandingkan dengan dirinya sendiri. -N name NET KIRIM notifikasi ke 'nama' di akhir perbandingan. -O Outline view (tidak ada ekspansi otomatis). -P Perbandingan yang salah: memecah garis pada tanda baca. -S [flags] savefile Simpan daftar file ke 'savefile'. 'Bendera' dapat terdiri dari satu atau lebih S (sama), L (kiri), R (kanan), D (berbeda), X (keluar setelah menyimpan daftar). (mis. -SLD menyimpan daftar file Kiri atau Berbeda). -T Bandingkan seluruh subtree.
Untuk menyimpan laporan perbandingan ke file menggunakan -S
switch. Contohnya di bawah ini:
Simpan daftar file identik ke diff.txt:
-SS D: \ output \ diff.txt c: \ folder1 d: \ folder2
Simpan daftar file yang berbeda ke diff.txt:
-SD D: \ output \ diff.txt c: \ folder1 d: \ folder2
Simpan daftar file hanya-kiri ke diff.txt:
-SL D: \ output \ diff.txt c: \ folder1 d: \ folder2
Menyimpan daftar file hanya-kanan ke diff.txt:
-SR D: \ output \ diff.txt c: \ folder1 d: \ folder2
Menyimpan daftar file hanya-kiri DAN-saja-kanan ke diff.txt:
-SLR D: \ output \ diff.txt c: \ folder1 d: \ folder2
Untuk keluar dari WinDiff secara otomatis setelah menyimpan laporan perbandingan, tambahkan sakelar X
, seperti di bawah ini:
Simpan daftar file hanya-kanan ke diff.txt dan keluar dari WinDiff
-SRX D: \ output \ diff.txt c: \ folder1 d: \ folder2
Simpan daftar file hanya-kiri DAN-saja-kanan ke diff.txt dan keluar dari WinDiff
-SLRX D: \ output \ diff.txt c: \ folder1 d: \ folder2
Untuk menghasilkan semua 5 file "log" individual Anda harus menjalankan WinDiff 5 kali.
Contoh:
windiff -SSX identik.txt c: \ folder1 d: \ folder2 windiff -SDX different.txt c: \ folder1 d: \ folder2 windiff -SLX left-only.txt c: \ folder1 d: \ folder2 windiff -SRX kanan-saja .txt c: \ folder1 d: \ folder2 windiff -SLRX kiri-kanan-saja.txt c: \ folder1 d: \ folder2
Lihat juga WinDiff Help File Contents (windiff.hlp) dalam format HTML.
Sinkronkan folder dengan WinDiff
Apalagi? WinDiff juga dapat menyalin file yang hilang atau berbeda ke lokasi kiri (Folder 1) atau ke kanan (Folder 2). Untuk melakukannya,
- Dari menu File, pilih Copy Files
- Ketikkan jalur folder tempat Anda ingin menyalin file yang hilang / berbeda.
Penting: Jangan gunakan tanda kutip ganda di sekitar lintasan folder bahkan jika lintasan folder berisi spasi. WinDiff gagal menyalin file jika Anda menambahkan tanda kutip ganda ke path.
$config[ads_text6] not found - Pilih Salin dari lokasi (Pohon kiri ke Kanan pohon, atau sebaliknya)
- Hapus centang File Identik, dan klik OK.
WinDiff sekarang menyinkronkan folder dengan menyalin file yang hilang dan diubah secara rekursif ke lokasi yang ditentukan (Kiri → Kanan).
Terlepas dari perbandingan ASCII & biner yang sangat baik dan kemampuan sinkronisasi dasar, WinDiff sering merupakan alat yang diremehkan di kalangan orang-orang TI. Itu karena itu olahraga antarmuka pengguna yang usang dan tidak memiliki dukungan Unicode. Tetapi WinDiff sudah cukup bagi kebanyakan dari kita, terutama mereka yang menggunakan OS bahasa Inggris.
Microsoft memiliki artikel berbasis pengetahuan tentang WinDiff, berjudul How to Use the Windiff.exe Utility yang mungkin ingin Anda periksa.
Bandingkan konten dua folder menggunakan WinMerge
Berikut adalah cara membandingkan dua folder bersama dengan sub-folder, menggunakan WinMerge.

- Mulai WinMerge. Dari menu File, klik Open
- Telusuri untuk memilih folder 1 dan folder 2 untuk membandingkan.
- Pastikan filter diatur ke
*.*
Sehingga semua file dibandingkan. Opsi “Sertakan Subfolder” (bandingkan secara rekursif) diaktifkan secara default. Jika Anda ingin membandingkan file di direktori tingkat atas saja, hapus centang opsi. - Klik Bandingkan
WinMerge menghasilkan hasil perbandingan folder, menyoroti perbedaan dalam warna kuning.
- Dari menu Tools, klik Customize Columns… . Pilih kolom yang Anda inginkan, seperti
Left size
,Right size
,Left date
,Right date
dari berbagai opsi kolom lain yang disediakan. - Perluas entri " Folder berbeda " dengan mengklik dua kali. Ini menunjukkan daftar file yang berbeda, " hanya kiri ", " hanya kanan " dan juga file yang identik .
Catatan: Anda dapat memilih untuk menyembunyikan file dan folder yang identik dengan menghapus centang "Tampilkan Item Identik" dari menu Lihat di WinMerge.
- Isi Lengkap (Default): Perbandingan penuh file berdasarkan konten, dengan semua lonceng dan peluit. Metode ini memanggil plugin dan menggunakan mesin diffutils untuk pembedaan yang sepenuhnya akurat dan deteksi blok yang dipindahkan. Ini adalah metode yang paling lengkap dan direkomendasikan.
- Isi Cepat: Perbandingan file dengan konten yang sedikit. Metode ini menggunakan kode perbandingan file yang disederhanakan yang melompati plugins dan memindahkan deteksi blok. Metode ini lebih cepat daripada Konten Lengkap, karena tidak memuat file. Kekurangannya adalah bahwa filter garis tidak diterapkan saat membandingkan. Misalnya, metode ini melihat file sebagai berbeda bahkan jika filter garis diatur untuk mengabaikan semua perbedaan dalam file.
- Tanggal yang Diubah: Membandingkan hanya tanggal modifikasi pada file, sehingga jauh lebih cepat daripada salah satu metode konten. Tapi jelas, itu hanya seakurat tanggal modifikasi.
- Tanggal dan Ukuran yang Dimodifikasi: Mirip dengan Tanggal yang Dimodifikasi, tetapi juga memeriksa ukuran file ketika tanggal identik.
- Ukuran: Membandingkan hanya ukuran file, sehingga cepat tetapi tidak seakurat metode konten.
WinMerge mendukung banyak saklar baris perintah. Lihat Manual WinMerge untuk seluruh daftar sakelar baris perintah yang didukung.
Sinkronkan folder dengan WinMerge
Jika Anda telah menghapus centang pada Tampilkan Item Identik dari menu Lihat di WinMerge, itu hanya memperlihatkan kepada Anda daftar file yang dimodifikasi, hanya-kiri dan hanya-saja. Sangat mudah untuk menyinkronkan item dari kiri → kanan, atau sebaliknya.

Yang perlu Anda lakukan adalah memilih file (atau pilih semua), klik kanan pada pilihan dan klik Salin. Di sub-menu Salin, pilih salah satu opsi:
- Kiri ke kanan: Salin file yang dipilih dari folder kiri ke kanan.
- Kiri ke…: Menyalin file dari folder kiri ke folder lain.
- Kanan ke kiri: Salin file yang dipilih dari folder kanan ke kiri.
- Hak untuk… : Menyalin file dari folder kanan ke folder lain.

Metode 3: Cara Membandingkan File dalam Dua Folder Menggunakan FreeFileSync

- Unduh FreeFileSync dan instal.
- Untuk membandingkan folder dengan konten file alih-alih ukuran file atau tanggal yang dimodifikasi, pilih Konten file dalam opsi Bandingkan. Membandingkan dengan ukuran file akan jauh lebih cepat dan kurang intensif sumber daya.
- Pilih folder kiri dan folder kanan.
- Klik pada tombol Bandingkan (konten File) .
Ini membandingkan item dalam dua folder secara rekursif dan menunjukkan daftar file baru dan yang diubah.
File identik disembunyikan di output. Ini menunjukkan file-satunya kiri, file yang berbeda, dan file hanya-kanan secara default, dan opsi dapat diaktifkan menggunakan tombol di bagian bawah jendela FreeFileSync.
Sinkronisasi folder menggunakan FreeFileSync
FreeFileSync menawarkan opsi sinkronisasi berikut yang mirip dengan Microsoft SyncToy.

- Sinkronisasi dua arah: Identifikasi dan terapkan perubahan di kedua sisi. Penghapusan, pemindahan, dan konflik dideteksi menggunakan database.
- Mirror: Mirror adalah Kiri → Sinkronisasi kanan. Folder kanan akan menjadi salinan cermin dari folder kiri. Ini sama dengan opsi Echo Microsoft SyncToy, dan baris perintah robocopy / mir. File dan folder tambahan pada folder kanan dihapus dan berbagai file diganti.
- Pembaruan: Opsi sinkronisasi ini melakukan folder Kiri → Sinkronisasi folder kanan mirip dengan opsi Mirror . Namun, opsi ini tidak menghapus file dan folder tambahan di bagan folder kanan. Ini mirip dengan opsi Kontribusi Microsoft SyncToy.
- Kustom: Selain tiga opsi prasetel di atas, opsi Kustom memungkinkan Anda memilih tindakan default Anda tentang cara menangani file hanya-kiri, file yang diubah, atau file hanya-kanan. Misalnya, Anda dapat mengonfigurasinya untuk menghapus file yang identik jika kebutuhan Anda hanya memiliki file unik (menghilangkan duplikat) di folder kiri dan kanan. Dalam kebanyakan kasus, Anda tidak perlu memilih pengaturan Kustom kecuali Anda memiliki persyaratan khusus.
Secara default, ini melakukan sinkronisasi 2 arah. Secara pribadi, saya lebih suka cadangan Mirror untuk proyek situs web saya dan Perbarui opsi cadangan untuk dokumen. Pilih salah satu opsi sinkronisasi yang sesuai.
Dalam hasil perbandingan, semua file dipilih secara default. Anda dapat mengecualikan file agar tidak disinkronkan dengan menghapus centang pada kotak centang yang berdekatan dengan nama file, atau melalui menu klik kanan.

- Untuk menyinkronkan semua item yang ditampilkan pada daftar, klik tombol Sinkronkan di bagian atas.
- Untuk menyinkronkan file tertentu atau serangkaian file, Kecualikan semua item (sementara) melalui menu klik kanan, kemudian aktifkan kotak centang untuk file yang dipilih, klik kanan pada pilihan, dan klik Sinkronkan pilihan, dan klik Mulai .
Itu dia! Folder Anda sekarang disinkronkan dan operasi salin / perbarui / hapus dicatat oleh FreeFileSync.

Bandingkan & Sinkronkan folder Lokal Vs. Folder FTP secara rekursif
FreeFileSync juga dapat membandingkan folder lokal versus Google Drive, atau folder lokal versus folder server FTP Anda secara rekursif menggunakan koneksi FTP atau SFTP. Berikut adalah cara membandingkan dan menyinkronkan folder dan subfolder lokal dengan folder di server FTP Anda.
Yang perlu Anda lakukan adalah mengklik tombol Akses penyimpanan online di sebelah tombol Browse di panel kiri atau di sebelah kanan. Mengklik tombol itu membuka dialog berikut:

Masukkan informasi koneksi, kredensial, dan jalur direktori FTP atau SFTP Anda untuk dibandingkan dengan folder lokal Anda.
Setelah selesai, Anda sekarang kembali ke jendela Perbandingan.
Memilih ukuran File atau Metode perbandingan waktu dan ukuran file . Metode perbandingan yang terakhir lebih andal.
Pilih varian sinkronisasi. Saya telah menyetel milik saya ke sinkronisasi 2 arah (bukan Mirror ) untuk tujuan ini.
Setelah dikonfigurasi, klik Bandingkan. Anda akan melihat daftar file yang hilang dan berbeda di kiri serta folder kanan.

Klik pada tombol Sinkronkan untuk menyalin file dua arah, karena sinkronisasi 2 arah telah dipilih. Jika Anda hanya ingin memperbarui lokasi FTP, pilih Mirror sync saja.
Jalankan FreeFileSync sebagai pekerjaan batch | Sinkronisasi baris perintah
Anda dapat menyimpan konfigurasi di atas untuk pekerjaan batch dan menjalankannya melalui baris perintah atau Penjadwal. Untuk menyimpan konfigurasi dan menjalankannya menggunakan command-line, ikuti langkah-langkah ini:
- Klik Simpan sebagai tugas batch… pilihan dari menu File.
- Anda dapat mengkonfigurasi pekerjaan batch untuk menjalankan diminimalkan dan secara otomatis menutup jendela ketika sinkronisasi selesai.
- Simpan file pekerjaan batch ke folder pilihan Anda, misalkan d: \ BatchRun.ffs_batch
- Kemudian, untuk menyinkronkan folder menggunakan baris perintah, gunakan sintaks baris perintah berikut:
C: \ Program Files \ FreeFileSync \ FreeFileSync.exe d: \ BatchRun.ffs_batch
Anda dapat membuat file batch Windows, atau menjalankan perintah di atas melalui Penjadwal Tugas secara berkala sesuai yang diinginkan.
Kiat: FreeFileSync juga dapat menyinkronkan folder dengan Google Drive.
$config[ads_text6] not foundMetode 4: Cara Membandingkan File dalam Dua Folder Menggunakan TotalCommander


- Mulai Total Commander dan pilih folder kiri dan folder kanan untuk membandingkan.
- Dari menu Perintah, klik Sinkronkan dirs…
Dengan dialog Synchronize dirs, Anda dapat membandingkan dua direktori termasuk subdirektori satu sama lain, dan kemudian menyalin file dengan perbedaan ke direktori target, atau direktori lainnya.
Jika Anda memilih opsi Asymmetric, itu membuat folder kanan sebagai cermin kiri - mirip dengan RoboCopy / MIR command-line atau opsi Microsoft SyncToy's
Echo
. Yaitu, opsi menyalin file yang hilang atau berbeda ke folder kanan, dan semua file dan folder tambahan di sebelah kanan dihapus.Anda dapat memilih untuk menampilkan file yang identik atau hanya file yang berbeda dalam output.
Opsi membandingkan / menyinkronkan Total Komandan yang dijelaskan di bawah ini.
Asimetris Jika opsi ini dicentang, diasumsikan bahwa salinan sisi kiri harus dibuat di sisi kanan. File yang tidak ada di sisi kiri akan ditandai untuk dihapus di sisi kanan. Opsi ini dimaksudkan untuk cadangan. Subdir Juga membandingkan subdirektori dari dua direktori yang dipilih. berdasarkan konten Membandingkan konten file yang memiliki ukuran dan tanggal yang sama. Itu memeriksa bahwa file juga memiliki konten yang sama. - Pilih opsi bandingkan “Subdirs”, “by content”.
Penting: Jika kotak centang Abaikan diaktifkan, Total Commander gagal menemukan file yang berbeda / diubah walaupun ukuran file berbeda. Tampaknya ada bug di Total Commander, dan saya bisa mereproduksinya setiap waktu.
- Di bagian Perlihatkan, nonaktifkan file yang Sama (dilambangkan dengan simbol
=
), dan aktifkan tiga tombol lainnya. - Aktifkan opsi Single dan Duplikat .
- Tekan tombol Bandingkan
Total Commander - Folder membandingkan argumen command-line
Untuk memulai "Sinkronkan dirs", Anda dapat menggunakan sintaks baris perintah berikut:
TOTALCMD64.EXE / S = S d: \ folder_1 d: \ folder_2
Kemudian, konfigurasikan opsi dan tekan tombol Bandingkan .
Untuk memulai "Sinkronisasi direktori" dan membandingkan folder dengan segera, gunakan sintaks ini:
TOTALCMD64.EXE / S = S: = d: \ folder_1 d: \ folder_2
(perbandingan akan dimulai dengan direktori yang lulus dan opsi yang terakhir digunakan.)
Secara opsional, Anda juga bisa mengetikkan nama pengaturan di formulir /S=S:SettingsName
sehingga perbandingan akan segera dimulai berdasarkan pada pengaturan yang disimpan sebelumnya.
Sinkronisasi folder menggunakan TotalCommander
- Di jendela bandingkan, pilih file yang ingin Anda salin. Ini dilakukan dengan mengklik pada kotak centang di antara dua kolom perbandingan, atau dengan memilih salah satu opsi di menu klik kanan.
Secara default, fungsi ini akan memilih semua file yang lebih baru untuk disalin. Untuk membatalkan pilihan file agar tidak disalin atau disinkronkan, klik dua kali panah. Untuk membatalkan pilihan beberapa file, pilih file, klik kanan pada item dan pilih Hapus Pilihan
Penting: Jika opsi Asimetris tidak diaktifkan, jika file di folder kanan lebih baru daripada yang ada di folder kiri, sinkronisasi akan berjalan dari Kanan → Kiri untuk file itu. Untuk mengubahnya dengan cara lain, klik tanda panah di sebelah file, yang mengubah arah sinkronisasi.
Sebagai alternatif, Anda dapat mengklik kanan pada file dan memilih Reverse copy direction untuk mengubah arah sinkronisasi.
- Klik pada Sinkronkan . Ini akan membuka kotak dialog untuk menyalin file yang dipilih.
Secara default, ini menyinkronkan kedua cara. Jika Anda ingin menyinkronkan satu arah - mis., Folder kiri → folder kanan, maka hapus centang pada kotak Kanan ke kiri dan sebaliknya.
Tip: Menggunakan Total Commander, Anda bahkan dapat menyinkronkan direktori lokal dan direktori pada server FTP.
$config[ads_text6] not foundMetode 5: Bandingkan & Sinkronisasi folder secara Real-time menggunakan DSynchronize

- Luncurkan DSynchronize dan konfigurasikan folder sumber dan tujuan.
- Anda dapat menetapkan nama pekerjaan khusus (untuk otomatisasi nanti) dengan mengklik tombol JOBS. Mari kita tetapkan nama pekerjaan sebagai
Uploads
- Untuk sinkronisasi cermin, pastikan bahwa Bidirectional Sync dinonaktifkan.
- Untuk melakukan perbandingan (hanya) tanpa menyinkronkan dua folder, aktifkan opsi Pratinjau sinkronisasi di bawah bagian Umum.
- Klik tombol Sinkronkan untuk melihat daftar file baru, yang diperbarui dan yang hilang di kedua lokasi.
Sinkronisasi folder
Untuk menyinkronkan folder, hapus centang opsi Pratinjau sinkronisasi di bawah bagian Umum, dan klik Sinkronkan . Itu melakukan sinkronisasi mode Cermin secara default. Mode cermin telah dibahas dalam artikel ini sebelumnya. Mode cermin memastikan bahwa folder kanan persis sama dengan folder kiri. Setiap direktori dan file tambahan di tujuan dihapus secara otomatis.
Sinkronisasi waktu nyata
Untuk menyinkronkan dua folder secara real-time:
- Klik pada sinkronisasi Realtime di bawah bagian Timer.
- Konfigurasikan pengaturan sinkronisasi waktu nyata seperti yang diinginkan. Saya menggunakan pengaturan default.
Secara default, ini secara otomatis menyinkronkan folder setelah selang 10 detik. Anda dapat mengonfigurasinya untuk menunda lebih lanjut, atau menjadwalkannya untuk berjalan pada interval yang ditentukan.
- Aktifkan kotak centang Monitor subfolder untuk menyinkronkan folder secara rekursif .
Saya menyalin beberapa file ke folder kiri (sumber), dan dalam 10 detik, item disinkronkan ke folder kanan secara otomatis. Anda dapat melihatnya di GIF animasi ini:

Dan, perubahan (penambahan & penghapusan file atau folder) dicatat di jendela utama.

Ketika sinkronisasi waktu-nyata diaktifkan, ia memonitor perubahan file dan program duduk di area notifikasi menunggu perubahan. Tidak memakan banyak sumber daya atau memori CPU. Terakhir saya cek, memori yang digunakan hanya sekitar 10 MB.

Berikut adalah daftar fitur yang menonjol dari DSynchronize:
- Sinkronisasi waktu dan standar.
- Sinkronisasi RealTime.
- Sinkronisasi dua arah.
- Sinkronisasi transaksional (oleh jurnal NTFS).
- Filter selektif (Anda dapat mengecualikan file atau folder tunggal).
- Mulai sebagai Layanan (program tidak perlu masuk).
- Mendukung Tautan Simbolik dan Tautan Keras.
- Mendukung persimpangan dan Mount Points.
- Mendukung ACL.
- Log dikirim melalui Email.
- Cadangkan versi file yang diganti sebelumnya.
- Byte ke byte membandingkan.
- Mendukung banyak Pekerjaan, masing-masing dengan pengaturan dan jalur sinkronisasi.
- Konsumsi sumber daya minimum (RAM dan CPU).
Dukungan baris perintah
Anda dapat menggunakan baris perintah berikut untuk mengotomatiskan DSynchronize:
/START
= Mulai sinkronisasi dengan opsi yang disimpan terakhir.
/STARTJOB "JobName"
= Mulai sinkronisasi dengan opsi Pekerjaan yang dipilih).
/MINIMIZE
= Mulai diminimalkan di Baki Baki.
/HIDDEN
= Jangan tampilkan ikon di Baki Baki.
/NOSECURITYCHECK
= Jangan melakukan pemeriksaan keamanan sebelum sinkronisasi.
/NOMONITORCHECK
= Jangan periksa resolusi monitor.
/AUTOREALTIME
= Mulai diminimalkan, lakukan sinkronisasi standar dan aktifkan RealTime.
/SOMEFILE.INI
= Mulai menggunakan file INI yang dipilih.
Nama pekerjaan dapat dikustomisasi dengan mengklik tombol JOBS di bagian atas jendela utama program.
Misalnya, untuk menyinkronkan dua folder secara otomatis (pekerjaan yang disimpan sebelumnya bernama "Uploads"), saya menjalankan perintah ini:
"D: \ dsynchronize \ DSynchronize.exe" / STARTJOB "Uploads" / MINIMIZE
Untuk menyinkronkan dua folder (pekerjaan bernama "Uploads") dan mengaktifkan sinkronisasi waktu-nyata, jalankan:
$config[ads_text6] not found"D: \ dsynchronize \ DSynchronize.exe" / STARTJOB "Uploads" / AUTOREALTIME
Perintah di atas menyinkronkan dua folder yang disebutkan dalam pekerjaan, dan mengaktifkan pemantauan waktu nyata secara otomatis. Anda dapat melihat ikon pemantauan waktu nyata di area Pemberitahuan.
Itu dia!
Metode 6: Bandingkan Dua Folder dengan utilitas HashMyFiles menggunakan File Hash Checksum
HashMyFiles adalah utilitas kecil yang menghitung checksum hash untuk file Anda. Itu dapat menghitung hash untuk file dalam folder dan subfoldernya secara rekursif. HashMyFiles memungkinkan Anda menyimpan hasil ke file. Itu juga dapat menghitung hash checksum melalui menu klik kanan.

Jika PowerShell bukan secangkir teh Anda, gunakan utilitas HashMyFiles dari Nirsoft.net untuk membandingkan hash file.
Anda dapat menyimpan nama file dan output hash yang sesuai untuk pohon folder sumber ke source.txt . Demikian pula, simpan entri untuk pohon folder tujuan sebagai destination.txt .
Dalam contoh ini, kita akan membandingkan file di folder berikut:
D: \ Situs Web \ Winhelponline \ blog \ wp-content \ uploads \ 2019 E: \ RameshPC-Synced Backup \ Situs Web \ Winhelponline \ blog \ wp-content \ upload \ 2019
Ikuti langkah-langkah ini untuk menghasilkan hash file menggunakan HashMyFiles dan membandingkannya:
- Unduh HashMyFiles dan jalankan.
- Dari menu Opsi, klik Jenis hash, dan pilih SHA-256
- Dari menu Lihat, klik Pilih Kolom
- Di Pengaturan Kolom, aktifkan opsi SHA-256, Path lengkap, dan Ukuran file . Klik OK.
- Klik menu File dan pilih Add Folder
- Pilih folder sumber untuk perbandingan.
- Klik untuk memilih Tambah file dalam subfolder, dan klik OK.
- Urutkan hasilnya dengan mengikuti Path Lengkap, dan pilih semua entri.
- Dari menu File, klik Simpan item yang dipilih
- Simpan cantuman ke file bernama source.txt
- Bersihkan hasilnya dengan memilih Bersihkan Semua dari menu File.
- Ulangi langkah-langkah di atas, dan kali ini pilih folder tujuan, simpan daftar ke destination.txt
- Sekarang, edit file source.txt dan destination.txt menggunakan Notepad dan hapus path dasar. Menggunakan opsi Temukan di Notepad, temukan setiap kemunculan jalur dasar di bawah ini dan ganti dengan string kosong.
D: \ Situs Web \ Winhelponline \ blog \ wp-content \
- Demikian pula dalam file destination.txt, hapus jalur basis ini:
E: \ RameshPC-Synced Backup \ Situs Web \ Winhelponline \ blog \ wp-content \
Anda mungkin juga ingin menemukan dan menghapus
=
simbol yang digunakan sebagai pemisah.Ini adalah bagaimana file sekarang terlihat seperti:
- Sekarang, jalankan WinDiff atau alat membandingkan file favorit Anda untuk melihat perbedaannya.
Anda akan melihat daftar file yang berbeda, file tambahan, dan file yang hilang.
Metode 7: Cara Membandingkan File dalam Dua Folder Menggunakan Robocopy
Sekarang mari kita lihat cara menggunakan utilitas konsol Robocopy bawaan untuk membandingkan konten dua folder.
Robocopy (“Robust File Copy for Windows”) adalah alat penyalinan file yang sangat baik yang terintegrasi ke Windows yang memiliki kemampuan luar biasa. Kemampuan Robocopy berada di atas dan di luar perintah copy dan XCopy Windows bawaan. RoboCopy adalah yang paling disukai dari semua metode command-line karena Robocopy membandingkan tidak hanya nama file tetapi juga waktu modifikasi terakhir. Ini melaporkan daftar file yang dimodifikasi dan file / folder baru di jalur sumber dan tujuan.
Di antara fitur-fiturnya yang sangat baik termasuk salinan mode "mirror" (mirip dengan opsi " Echo " Microsoft SyncToy), kemampuan untuk mencoba lagi menyalin jika terjadi gangguan jaringan, penyalinan multi-berulir, dll. Selain menyalin file, kita dapat menggunakan Robocopy untuk hanya membandingkan isi dua folder (secara rekursif) dan log perbedaan tanpa menyalin apa pun, seperti lari kering .
Skenario
File situs web saya disinkronkan ke hard drive eksternal ( E:\
) secara teratur. Untuk tujuan ilustrasi, mari kita periksa apakah dua folder ini identik. Dalam contoh ini, kita akan membandingkan folder berikut, secara rekursif (yaitu bersama dengan sub-folder, perbandingan mendalam):
D: \ Situs Web \ Winhelponline \ blog \ wp-content \ unggahan dan E: \ RameshPC-Synced Backup \ Situs Web \ Winhelponline \ blog \ wp-content \ unggahan
- Buka jendela Command Prompt.
- Jalankan perintah berikut dan tekan ENTER:
robocopy "D: \ Situs web \ Winhelponline \ blog \ wp-content \ upload" "E: \ RameshPC-Synced Backup \ Situs Web \ Winhelponline \ blog \ wp-content \ unggahan" / L / TS / MIR / LOG: D: \ Diff.txt
$config[ads_text6] not foundHasil dari perintah di atas dicatat ke file
D:\Diff.txt
. - Keluar dari jendela Command Prompt.
Rincian tentang sakelar baris perintah Robocopy yang digunakan
/L
:: Daftar saja - jangan salin, cap waktu, atau hapus file apa pun. Opsi ini hanya digunakan untuk tujuan logging; untuk lari kering./MIR
:: MIRror pohon direktori (setara dengan / E plus / PURGE). Karena kita menggunakannya dengan/L
switch, tidak ada file / folder yang benar-benar akan disalin./TS
:: sertakan file sumber Time Stamps dalam output./LOG:file
:: status output ke file LOG (menimpa log yang ada).
Dalam contoh ini, kami menulis output ke D:\Diff.txt
. Seperti inilah bentuk log:
------------------------------------------------------------------------------- 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
Anda dapat dengan jelas melihat direktori dan file tambahan di sumber serta folder tujuan. Juga, ini membandingkan timestamp dan memberi tahu Anda jika file lebih lama atau lebih baru (dibandingkan dengan file yang sama di tujuan Anda).

Dalam contoh ini, berikut adalah perbedaan yang terlihat:
- * EXTRA Dir : Direktori tambahan ada di tujuan tetapi bukan sumbernya.
- * File EXTRA : File tambahan ada di tujuan tetapi bukan sumbernya.
- Lebih lama : File ini lebih tua dibandingkan dengan yang ada di tujuan.
- Baru : File ini lebih baru dibandingkan dengan yang ada di tujuan.
- File baru : File ini tidak ada di tujuan. Ini juga disebut file
Lonely
Daftar lengkap klasifikasi file RoboCopy:
----------- ----------- ---------------- ------------ --- ------------- ------------ Classifi_ Ada Di Sumber Yang Ada / Sumber Dest / Sumber Dest / Destilasi Sumber Tujuan File Kali Ukuran File Atribut ----------- ----------- ---------------- ------------ --- ------------- ------------ Lebih Baru Ya Ya Src> dest n / an / a Lebih Tua Ya Ya Src <dest n / an / a Baru Ya Tidak n / an / an / Ekstra Tidak Ya n / an / an Berubah Ya Ya Sama Berbeda n / a Sama Ya Ya Sama Sama Sama Sama Tweaked Ya Ya Sama Sama Berbeda Berbeda Tidak Sesuai Ya (file) Ya (direktori) n / an / an / a ----------- ----------- ---------------- ------ --------- ------------- ------------
Catatan: File Tweaked
didefinisikan sebagai file yang ada di sumber dan tujuan, dengan ukuran dan stempel waktu yang sama, tetapi pengaturan atribut yang berbeda.
Robocopy adalah alat yang luar biasa untuk membandingkan & menyinkronkan file dalam dua folder (bersama dengan sub-folder beberapa level dalam) dan daftar perbedaan dalam file log.
Sinkronisasi folder menggunakan Robocopy
Untuk menyinkronkan folder ( hanya dari folder kiri → kanan) dengan RoboCopy, gunakan sintaks baris perintah yang sama yang kita gunakan sebelumnya untuk membandingkan folder, tetapi kali ini tanpa tombol /L
(hanya daftar) yang beralih.
RoboCopy melakukan sinkronisasi satu arah (dari folder Kiri → kanan)
Mode salin RoboCopy Mirror ( /MIR
) mirip dengan fitur " Echo " Microsoft SyncToy. Ingat, RoboCopy hanya menyinkronkan → kanan - BUKAN sinkronisasi dua arah.
Penting untuk dicatat bahwa /MIR
switch juga menghapus semua file dan direktori tambahan di pohon folder tujuan. File / folder "Ekstra" adalah item yang ada di tujuan tetapi tidak ada di jalur sumber. Perintah /MIR
(mirror) memastikan bahwa struktur folder tujuan (dan file) adalah salinan yang tepat dari sumber.
Gunakan sintaks baris perintah berikut untuk menyinkronkan item dari kiri → folder kanan:
robocopy source_folder destination_folder / MIR / MT
Saklar /MT
adalah untuk melakukan salinan multi-utas untuk operasi penyalinan super cepat. Ini adalah saklar opsional, tetapi sangat berguna.
Status sinkronisasi dikeluarkan di konsol untuk setiap item yang diproses, dan statistik ditampilkan di akhir output.
Untuk mencatat output ke file, gunakan sintaks ini:
robocopy source_folder destination_folder / MIR / MT / TS /LOG:D:DDiff.txt


Mengotomatiskan perintah menggunakan file Batch
Anda dapat menambahkan semua perintah Robocopy ke Notepad, dan menyimpannya sebagai file Windows Batch (dengan ekstensi .bat
). Cukup klik dua kali pada file Batch setiap kali Anda ingin menyinkronkan folder yang disebutkan. Anda bahkan dapat menjalankan file batch pada interval yang diperlukan menggunakan Penjadwal Tugas.

Metode 8: Bandingkan Dua Folder menggunakan File Hash Checksum dengan utilitas FCIV
Dengan menggunakan algoritma hashing kriptografis - mis., MD5, SHA-1, Anda dapat memverifikasi apakah dua file identik atau tidak. Checksum adalah nilai hash yang digunakan untuk melakukan pemeriksaan integritas data pada file. Ini semacam tanda tangan untuk sebuah file.
Alat Verifikasi Integritas Pemeriksaan Berkas Microsoft (FCIV) adalah utilitas baris perintah yang menghitung hash kriptografis MD5 atau SHA1 untuk file. Anda bisa menampilkan daftar file beserta hash MD5 atau SHA1 mereka ke database XML, dan kemudian membandingkan file di folder target dengan hash yang disimpan di file database XML.
Metode ini sangat membantu setelah Anda menggunakan salah satu metode di atas - misalnya, Robocopy atau WinDiff untuk menyinkronkan dua folder, dan ingin memverifikasi integritas setiap file tujuan dengan membandingkan hash / checksum file dengan yang dari lokasi sumber.
Skenario:
Mari kita bandingkan konten folder berikut secara rekursif menggunakan FCIV:
D: \ Situs Web \ Winhelponline \ blog \ wp-content \ upload E: \ RameshPC-Synced Backup \ Situs Web \ Winhelponline \ blog \ wp-content \ upload
Unduh Microsoft File Checksum Integrity Verifier dari Pusat Unduhan Microsoft Resmi, dan ekstrak fciv.exe
ke folder - mis., d:\tools
. Kemudian ikuti salah satu metode ini:
Pilihan 1
- Buka jendela Prompt Perintah dan gunakan sintaks baris perintah ini:
d: \ tools \ fciv.exe -r -add "D: \ Situs web \ Winhelponline \ blog \ wp-content \ unggahan" -bp "D: \ Situs web \ Winhelponline \ blog \ wp-content" -sha1 -xml d: \ hashdb.xml
Baris perintah di atas menghitung hash SHA1 untuk setiap file secara rekursif dan menampilkan nama file dan hash yang sesuai ke file .XML bernama
hashdb.xml
.Parameter
-bp
digunakan untuk menentukan path dasar untuk dihapus dari nama path lengkap. Ini memastikan bahwa path dasar tidak termasuk dalam output XML sehingga Anda dapat membandingkan item di path folder tujuan yang memiliki struktur folder yang sama persis.Berikut adalah tampilan isi file XML:
- Sekarang, di jendela Command Prompt, beralih ke folder tujuan dengan menjalankan perintah berikut:
cd / d "E: \ RameshPC-Synced Backup \ Situs Web \ Winhelponline \ blog \ wp-content"
- Kemudian, jalankan perintah berikut dan tekan ENTER:
d: \ tools \ fciv.exe -v -sha1 -xml D: \ hashdb.xml
Perintah di atas memverifikasi file tujuan Anda terhadap checksum hash yang Anda tangkap sebelumnya di
hashdb.xml
file XML.Dalam output, daftar file yang dimodifikasi (berdasarkan hash checksum) dan daftar file yang hilang (di tujuan) ditampilkan:
Berikut adalah contoh output.
Memulai verifikasi checksum: date / timestamp Daftar file yang dimodifikasi: ----------------------- unggahan \ 2019 \ 05 \ w10-enhanced-search-settings.png Hash adalah: 8dac0a4400d2b700f81bf70c189e49eb6a620a2f Seharusnya: cc2a1523ef070dc2e498dbf5f8cf5edac1b6900d Tidak dapat mengunggah file Hash di file \ 2019 \ 05 \ windiff-header.png tidak dapat menemukan kesalahan pada file: tidak dapat menemukan pesan kesalahan: tidak dapat menemukan pesan kesalahan: tidak dapat menemukan pesan kesalahan: tidak dapat menemukan pesan kesalahan: tidak dapat menemukan pesan kesalahan: tidak dapat menemukan pesan kesalahan: tidak dapat menemukan pesan kesalahan: tidak dapat menemukan pesan kesalahan: tidak dapat menemukan pesan kesalahan: tidak dapat menemukan pesan. Kode kesalahan: 2 Tidak dapat meng-upload file Hash \ 2019 \ 05 \ windows-store-error-0x800706d9.png Pesan Kesalahan: Sistem tidak dapat menemukan file yang ditentukan. Kode kesalahan: 2 unggahan \ 2019 \ 05 \ w10-disempurnakan-cari-setting.png Hash adalah: 8dac0a4400d2b700f81bf70c189e49eb6a620a2f Seharusnya: cc2a1523ef070dc2e498dbf5f8cf5 file tidak dapat diupload ke file unduhan tidak dapat ditemukan di file 201 tidak dapat ditemukan di filehm tidak dapat diunggah ke file http: file tidak dapat diupload file ke file 201 tidak dapat ditemukan. file yang ditentukan. Kode kesalahan: 2 Tidak dapat meng-upload file Hash \ 2019 \ 05 \ windows-store-error-0x800706d9.png Pesan Kesalahan: Sistem tidak dapat menemukan file yang ditentukan. Kode kesalahan: 2 Verifikasi Akhir: timestamp
Metode di atas sangat membantu untuk memeriksa integritas file yang cocok di folder tujuan. Tetapi tidak menunjukkan daftar file tambahan di tujuan. 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.

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:
- Open a Command Prompt window.
- 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
Quick Tip: To compare only the directories, remove theD:\
drive's root directory. The text files will have your directory structure in a tree format, which makes it easy for comparison work./F
flag. - Next, fire up your text comparison utility like WinDiff, WinMerge or DiffMerge. Alternately, you can compare the two text files online via diffchecker.com.
- 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.TXTQuick 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:
- D:\Source\Apr\Week1
- D:\Source\Apr\Week2
- D:\DEST\Apr\Week1
- 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.
$config[ads_text6] not found
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!