Bagaimana Membandingkan Kandungan Dua Folder dan Menyegerakkannya
Mari kita anggap anda membuat tugas sandaran XCopy, SyncToy atau alat lain untuk mencerminkan salinan direktori tertentu ke lokasi yang berbeza. Sekiranya anda menggunakan Microsoft SyncToy, ada kemungkinan kadangkala fail atau folder hilang di tempat tujuan, atau folder tujuan mempunyai fail atau folder tambahan yang tidak ada di folder sumber.

Artikel ini memberitahu anda bagaimana membandingkan struktur direktori (bersama dengan fail) dalam dua jalur direktori yang berbeza untuk memastikan anda mempunyai salinan replika atau cermin sumber yang tepat. Beberapa kaedah di bawah juga membincangkan cara menyegerakkan item dalam dua folder setelah membandingkan.
Terdapat 12 kaedah perbandingan folder (untuk Windows) yang dibincangkan dalam artikel ini. Pilih yang paling sesuai dengan anda. Sekiranya anda perlu memeriksa integriti fail setelah penyegerakan, gunakan salah satu prosedur pengesahan hash checksum berikut yang disenaraikan.
Bandingkan isi dua folder menggunakan WinDiff Microsoft
WinDiff adalah alat perbandingan fail grafik dari Microsoft yang pertama kali dikeluarkan pada tahun 1992 dan kemudian dikemas kini. Sila tunggu sebentar! Jangan terkejut pada tahun pelepasan awal.
WinDiff masih hebat dan berfungsi dengan baik di Windows 10, tetapi tidak ada sokongan Unicode. Ia mempunyai potensi yang sangat besar. WinDiff dapat membandingkan fail ASCII & Binary, membandingkan dua direktori, dan menyegerakkan folder (folder kiri → folder kanan, atau sebaliknya).
Pautan muat turun WinDiff (cermin tempatan). Versi WinDiff yang terakhir dikemas kini ialah 5.2.3790.0 dengan cap Tarikh diubah suai menunjukkan 4-7-2016.
Anda juga boleh memuat turun WinDiff sebagai sebahagian daripada pakej Alat Sokongan Windows XP, dan mengekstrak isinya menggunakan 7-Zip.
Untuk membuat perbandingan direktori menggunakan WinDiff:
- Mulakan Windiff.exe.
- Pada menu Fail, klik Bandingkan Direktori.
- Dalam kotak dialog Pilih Direktori, ketik dua nama folder yang ingin anda bandingkan di kotak Dir1 dan Dir2. Sekiranya anda ingin membandingkan fail dalam folder tersebut secara berulang, aktifkan kotak pilihan Sertakan subdirektori .
Hasilnya atau tetingkap garis besar secara lalai menunjukkan fail yang serupa dan juga perbezaannya. Anda boleh menyembunyikan fail yang serupa dengan melumpuhkan Tunjukkan Fail yang Sama dari menu Pilihan.

Seperti yang anda lihat, WinDiff bukan hanya membandingkan nama fail tetapi juga membandingkan kandungan fail di kedua lokasi dan menyoroti perubahan jika kandungan failnya berbeza.

Klik dua kali pada item "berbeza" membuka paparan perbandingan dengan pengekodan warna. Hasil kod warna menunjukkan apa perbezaan fail.
WinDiff boleh melakukan perbandingan ASCII dan binari. Ini bermaksud, WinDiff tidak bergantung pada tarikh yang diubah tetapi membandingkan kandungan sebenar fail.
$config[ads_text6] not foundSebagai contoh, saya mengubahsuai watak dalam fail teks dalam folder tujuan (folder kanan). Saya menggantikan tanda seru dengan titik dua, dan ukuran failnya sama (1, 127 bait) di kedua lokasi. WinDiff mengambilnya dan menunjukkan bahawa failnya berbeza.

Untuk menyimpan perbezaan perbandingan direktori ke fail, klik Simpan Senarai Fail di Menu Fail. Taipkan nama fail dengan jalan lengkap tanpa tanda petik dua kali.

Nyahtanda fail Identik dan Sertakan pilihan Checksums, dan klik OK. Fail output akan kelihatan seperti ini:
- D: \ Laman Web \ Winhelponline \ blog \ wp-content \ muat naik \ 2019: E: \ Sandaran RameshPC-Synced \ Laman Web \ Winhelponline \ blog \ wp-content \ muat naik \ 2019 - termasuk hanya kiri, kanan sahaja, fail yang berbeza. \ accesschk.exe hanya di E: \ RameshPC-Synced Backup \ Website \ Winhelponline \ blog \ wp-content \ uploads \ 2019. \ membandingkan-folders.txt hanya di E: \ RameshPC-Synced Backup \ Laman Web \ Winhelponline \ blog \ wp-content \ muat naik \ 2019. \ Fta-1803-w10.txt hanya di E: \ RameshPC-Synced Backup \ Laman Web \ Winhelponline \ blog \ wp-content \ muat naik \ 2019. \ Ssh-perintah-berguna .txt hanya di E: \ RameshPC-Synced Backup \ Website \ Winhelponline \ blog \ wp-content \ uploads \ 2019. \ 05 \ dell-supportassist.png hanya di D: \ Laman Web \ Winhelponline \ blog \ wp-content \ muat naik \ 2019. \ 05 \ disable-tema-sync-ramesh.png berbeza (E: \ RameshPC-Synced Backup \ Laman Web \ Winhelponline \ blog \ wp-content \ uploads \ 2019 lebih baru). \ 05 \ file-explorer- not-highlight-files.png hanya di D: \ Laman web \ Winhelponline \ blog \ wp-content \ muat naik \ 2019. \ 05 \ firefox-lupa-tentang-ini-laman-ini-4.png berbeza nt (E: \ RameshPC-Synced Backup \ Website \ Winhelponline \ blog \ wp-content \ uploads \ 2019 lebih baru). \ 05 \ msconfig-disable-services-non-microsoft.png hanya di D: \ Laman web \ Winhelponline \ blog \ wp-content \ muat naik \ 2019. \ 05 \ windows-store-error-0x800706d9.png hanya di D: \ Laman web \ Winhelponline \ blog \ wp-content \ muat naik \ 2019. \ 06 \ notepad-bing-search .png hanya di E: \ RameshPC-Synced Backup \ Website \ Winhelponline \ blog \ wp-content \ uploads \ 2019. \ 06 \ rundll32-refresh-Command.txt hanya di E: \ RameshPC-Synced Backup \ Laman Web \ Winhelponline \ blog \ wp-content \ uploads 2019. \ 06 \ archives \ 404chk.vbs only in E: \ RameshPC-Synced Backup \ Website \ Winhelponline \ blog \ wp-content \ uploads \ 2019. \ 06 \ archives \ actxprxy-hilang -issues.txt hanya di E: \ RameshPC-Synced Backup \ Website \ Winhelponline \ blog \ wp-content \ uploads \ 2019. \ 06 \ archives \ apps.png only in E: \ RameshPC-Synced Backup \ Website \ Winhelponline \ blog \ wp-content \ muat naik \ 2019. \ 06 \ arkib \ artikel.vbs hanya di E: \ RameshPC-Synced Backup \ Laman Web \ Winhelponline \ blog \ wp-content \ upl oads \ 2019. \ 06 \ arkib \ bash-sh.vbs hanya di E: \ RameshPC-Synced Backup \ Website \ Winhelponline \ blog \ wp-content \ uploads \ 2019 - 17 fail disenaraikan
Oleh kerana fail output dalam format dibatasi tab, anda seharusnya dapat mengimport ke Microsoft Office Excel atau Google Sheets dengan mudah.

windiff.exe "c:\source" "d:\destination"
akan melancarkan alat dan membandingkan kedua-dua jalur folder tersebut. Suis baris arahan WinDiff
Berikut adalah senarai lengkap suis baris perintah WinDiff.
Penggunaan: windiff [options] path1 [path2] Options: -D Bandingkan satu direktori sahaja. -F [flags] savefile Simpan fail komposit ke 'savefile'. 'Bendera' boleh terdiri daripada satu atau lebih dari I (sama), L (kiri), R (kanan), F (bergerak kiri), G (riGht bergerak), S (kiri serupa), A (similiAr kanan), X (keluar selepas menyimpan senarai). (mis. -FLF menyimpan senarai baris Kiri atau bergerak-leFt). -I file Membaca senarai fail untuk dibandingkan, dari fail input yang ditentukan. Setiap baris boleh mengandungi satu atau dua nama fail, ruang dibatasi (dengan tanda petikan, jika nama fail berisi spasi). Gunakan "-" sebagai nama fail untuk dibaca dari stdin. Sekiranya baris hanya mengandungi satu nama fail, fail tersebut dibandingkan dengan namanya. -N nama NET HANTAR pemberitahuan ke 'name' pada akhir perbandingan. -O Pandangan garis besar (tiada pengembangan automatik). -P Perbandingan sesat: memecahkan garis tanda baca. -S [flags] savefile Simpan senarai fail ke 'savefile'. 'Bendera' boleh terdiri daripada satu atau lebih dari S (sama), L (kiri), R (kanan), D (berbeza), X (keluar selepas senarai simpanan). (mis. -SLD menyimpan senarai fail Kiri atau Berbeza). -T Bandingkan keseluruhan subtree.
Untuk menyimpan laporan perbandingan ke fail menggunakan suis -S
. Contohnya di bawah:
Simpan senarai fail yang serupa ke diff.txt:
-SS D: \ output \ diff.txt c: \ folder1 d: \ folder2
Simpan senarai fail yang berbeza ke diff.txt:
-SD D: \ output \ diff.txt c: \ folder1 d: \ folder2
Simpan senarai fail kiri sahaja ke diff.txt:
-SL D: \ output \ diff.txt c: \ folder1 d: \ folder2
Menyimpan senarai fail yang betul ke diff.txt:
-SR D: \ output \ diff.txt c: \ folder1 d: \ folder2
Menyimpan senarai fail kiri dan kanan sahaja ke diff.txt:
-SLR D: \ output \ diff.txt c: \ folder1 d: \ folder2
Untuk keluar dari WinDiff secara automatik setelah menyimpan laporan perbandingan, tambahkan suis X
, seperti di bawah:
Simpan senarai fail yang betul ke diff.txt dan keluar dari WinDiff
-SRX D: \ output \ diff.txt c: \ folder1 d: \ folder2
Simpan senarai fail kiri dan kanan sahaja ke diff.txt dan keluar dari WinDiff
-SLRX D: \ output \ diff.txt c: \ folder1 d: \ folder2
Untuk menghasilkan semua 5 fail "log" individu, anda harus menjalankan WinDiff 5 kali.
Contoh:
windiff -SSX identical.txt c: \ folder1 d: \ folder2 windiff -SDX different.txt c: \ folder1 d: \ folder2 windiff -SLX left-only.txt c: \ folder1 d: \ folder2 windiff -SRX right-only .txt c: \ folder1 d: \ folder2 windiff -SLRX kiri-kanan-hanya.txt c: \ folder1 d: \ folder2
Lihat juga Kandungan Fail Bantuan WinDiff (windiff.hlp) dalam format HTML.
Segerakkan folder dengan WinDiff
Apa lagi? WinDiff juga boleh menyalin fail yang hilang atau berbeza di sebelah kiri (Folder 1) atau ke kanan (Folder 2) lokasi. Untuk melakukannya,
- Dari menu Fail, pilih Salin Fail
- Ketik jalan folder di mana anda ingin menyalin fail yang hilang / berbeza.
Penting: Jangan gunakan tanda petik ganda di sekitar laluan folder walaupun jalur folder mengandungi ruang. WinDiff gagal menyalin fail jika anda menambah petikan dua kali ke jalan.
$config[ads_text6] not found - Pilih Salin dari lokasi (Pokok kiri ke Pohon Kanan, atau sebaliknya)
- Nyahtanda Fail yang Sama, dan klik OK.
WinDiff kini menyegerakkan folder dengan menyalin fail yang hilang dan diubah secara berulang ke lokasi yang ditentukan (Kiri → Kanan).
Walaupun terdapat perbandingan ASCII & binari yang sangat baik dan keupayaan penyegerakan asas, WinDiff sering menjadi alat yang diremehkan di kalangan orang IT. Ini kerana ia menggunakan antara muka pengguna yang ketinggalan zaman dan tidak mempunyai sokongan Unicode. Tetapi WinDiff cukup untuk kebanyakan kita, terutama bagi mereka yang menggunakan OS bahasa Inggeris.
Microsoft mempunyai artikel pengetahuan tentang WinDiff, yang berjudul Cara Menggunakan Utiliti Windiff.exe yang mungkin ingin anda periksa.
Bandingkan isi dua folder menggunakan WinMerge
Berikut adalah cara membandingkan dua folder dengan sub-folder, menggunakan WinMerge.

- Mulakan WinMerge. Dari menu Fail, klik Buka
- Semak imbas untuk memilih folder 1 dan folder ke - 2 untuk membandingkan.
- Pastikan penapis diatur ke
*.*
Sehingga semua fail dibandingkan. Pilihan "Sertakan Subfolder" (membandingkan secara berulang) diaktifkan secara lalai. Sekiranya anda ingin membandingkan fail di direktori tingkat atas sahaja, hapus centang pilihannya. - Klik Bandingkan
WinMerge menghasilkan hasil perbandingan folder, menonjolkan perbezaan warna kuning.
- Dari menu Alat, klik Peribadikan Lajur… . Pilih Lajur yang anda mahukan, seperti
Left size
,Left size
Right size
,Left date
,Right date
dari banyak pilihan lajur lain yang disediakan. - Kembangkan entri " Folder berbeza " dengan mengklik dua kali padanya. Ini menunjukkan senarai fail yang berbeda, " hanya kiri ", " hanya kanan " dan juga fail yang serupa .
Catatan: Anda dapat memilih untuk menyembunyikan fail dan folder yang sama dengan menghapus centang "Tunjukkan Item yang Sama" dari menu Lihat di WinMerge.
- Isi Penuh (Lalai): Perbandingan penuh fail mengikut kandungan, dengan semua loceng dan wisel. Kaedah ini menggunakan plugin dan menggunakan mesin diffutils untuk pembezaan tepat dan pengesanan blok bergerak. Ini adalah kaedah yang paling lengkap dan disyorkan.
- Isi Pantas: Perbandingan fail dengan kandungan yang dilangsaikan. Kaedah ini menggunakan kod perbandingan fail yang diperkemas yang melangkau pemalam dan pengesanan blok bergerak. Kaedah ini lebih pantas daripada Isi Penuh, kerana tidak memuatkan fail. Kelemahannya ialah penapis garis tidak digunakan semasa membandingkan. Sebagai contoh, kaedah ini melihat fail berbeza walaupun penapis baris ditetapkan untuk mengabaikan semua perbezaan fail.
- Tarikh Diubahsuai: Membandingkan hanya tarikh pengubahsuaian pada fail, jadi jauh lebih cepat daripada salah satu kaedah kandungan. Tetapi jelas, ia sama tepatnya dengan tarikh pengubahsuaian.
- Tarikh dan Ukuran yang Diubah: Sama dengan Tarikh yang Diubah, tetapi juga memeriksa saiz fail apabila tarikhnya sama.
- Saiz: Membandingkan hanya ukuran fail, jadi cepat tetapi tidak tepat seperti kaedah kandungan.
WinMerge menyokong banyak pertukaran baris perintah. Lihat Manual WinMerge untuk keseluruhan senarai suis baris perintah yang disokong.
Segerakkan folder dengan WinMerge
Sekiranya anda tidak mencentang Show Show Identical Items dari menu View di WinMerge, ini hanya akan menunjukkan senarai fail yang diubah, hanya kiri dan kanan sahaja. Sangat mudah untuk menyegerakkan item dari kiri → kanan, atau sebaliknya.

Yang perlu anda buat ialah memilih fail (atau pilih semua), klik kanan pada pilihan dan klik Salin. Dalam sub-menu Salin, pilih salah satu pilihan:
- Kiri ke kanan: Salin fail yang dipilih dari folder kiri ke kanan.
- Kiri ke…: Salin fail dari folder kiri ke beberapa folder lain.
- Kanan ke kiri: Salin fail yang dipilih dari folder kanan ke kiri.
- Kanan ke… : Salin fail dari folder kanan ke folder lain.

Kaedah 3: Cara Membandingkan Fail dalam Dua Folder Menggunakan FreeFileSync

- Muat turun FreeFileSync dan pasangkannya.
- Untuk membandingkan folder dengan kandungan fail dan bukannya saiz fail atau tarikh yang diubah, pilih Kandungan fail dalam pilihan Bandingkan. Membandingkan mengikut ukuran fail akan menjadi jauh lebih cepat dan kurang intensif sumber.
- Pilih folder kiri dan folder kanan.
- Klik pada butang Bandingkan (Kandungan fail) .
Ia membandingkan item dalam dua folder secara berulang dan menunjukkan senarai fail baru dan yang telah diubah.
Fail yang serupa tersembunyi dalam output. Ini menunjukkan fail kiri-kiri, fail-fail yang berbeda, dan fail-kanan sahaja secara lalai, dan pilihannya dapat ditukar menggunakan butang di bahagian bawah tetingkap FreeFileSync.
Segerakkan folder menggunakan FreeFileSync
FreeFileSync menawarkan pilihan penyegerakan berikut yang serupa dengan Microsoft SyncToy.

- Penyegerakan dua hala: Kenal pasti dan terapkan perubahan di kedua-dua belah pihak. Penghapusan, pergerakan, dan konflik dikesan menggunakan pangkalan data.
- Cermin: Cermin Kiri → Penyegerakan kanan. Folder kanan akan menjadi salinan cermin dari folder kiri. Ia sama dengan pilihan Echo Microsoft SyncToy, dan baris perintah robocopy / mir. Fail dan folder tambahan di folder kanan dikeluarkan dan fail yang berbeza diganti.
- Kemas kini: Pilihan penyegerakan ini melakukan folder Kiri → Penyegerakan folder kanan serupa dengan pilihan Cermin . Walau bagaimanapun, pilihan ini tidak menghapus fail dan folder tambahan di pohon folder yang betul. Ia serupa dengan pilihan Sumbangan Microsoft SyncToy.
- Custom: Sebagai tambahan kepada tiga pilihan preset di atas, pilihan Custom membolehkan anda memilih tindakan lalai mengenai cara menangani fail yang tinggal kiri, fail yang diubah, atau fail yang hanya di sebelah kanan. Sebagai contoh, anda dapat mengkonfigurasinya untuk menghapus fail yang sama jika keperluan anda hanya mempunyai fail unik (hilangkan pendua) di folder kiri dan kanan. Dalam kebanyakan kes, Anda tidak perlu memilih pengaturan Khusus kecuali jika Anda memiliki syarat khusus.
Secara lalai, ia melakukan penyegerakan 2 hala. Secara peribadi, saya lebih suka cadangan Mirror untuk projek laman web saya dan Kemas kini pilihan sandaran untuk dokumen. Pilih salah satu pilihan penyegerakan dengan sewajarnya.
Dalam hasil perbandingan, semua fail dipilih secara lalai. Anda boleh mengecualikan fail daripada diselaraskan dengan tidak mencentang kotak yang bersebelahan dengan nama fail, atau melalui menu klik kanan.

- Untuk menyegerakkan semua item yang dipaparkan dalam senarai, klik butang Segerakkan di bahagian atas.
- Untuk menyegerakkan fail tertentu atau sekumpulan file, Kecualikan semua item (sementara) melalui menu klik kanan, kemudian aktifkan kotak centang untuk fail yang dipilih, klik kanan pada pilihan, dan klik Sinkronkan pilihan, dan klik Mulai .
Itu sahaja! Folder anda sekarang disegerakkan dan operasi salin / kemas kini / hapus log oleh FreeFileSync.

Bandingkan & Segerakkan folder tempatan Vs. Folder FTP secara berulang
FreeFileSync juga dapat membandingkan folder lokal dengan Google Drive, atau folder tempatan dengan folder pelayan FTP anda secara berulang menggunakan sambungan FTP atau SFTP. Berikut adalah cara membandingkan dan menyegerakkan folder dan subfolder tempatan dengan folder di pelayan FTP anda.
Yang perlu anda lakukan ialah klik pada butang penyimpanan dalam talian Akses di sebelah butang Browse di panel kiri atau sebelah kanan. Mengklik butang itu akan membuka dialog berikut:

Masukkan maklumat, bukti kelayakan dan alamat sambungan FTP atau SFTP anda untuk dibandingkan dengan folder tempatan anda.
Setelah selesai, anda kini kembali ke tetingkap Perbandingan.
Pilih saiz fail atau kaedah perbandingan masa dan saiz fail . Kaedah perbandingan terakhir lebih dipercayai.
Pilih varian penyegerakan. Saya telah menetapkan penyegerakan saya kepada 2 hala (bukan Cermin ) untuk tujuan ini.
Setelah dikonfigurasikan, klik Bandingkan. Anda akan melihat senarai fail yang hilang dan berbeza di sebelah kiri dan juga folder kanan.

Klik pada butang Synchronize untuk menyalin fail dengan dua cara, kerana penyegerakan 2 arah telah dipilih. Sekiranya anda ingin mengemas kini lokasi FTP sahaja, pilih Mirror sync.
Jalankan FreeFileSync sebagai kerja kumpulan | Penyegerakan baris arahan
Anda boleh menyimpan konfigurasi di atas ke pekerjaan batch dan menjalankannya melalui baris perintah atau Penjadual. Untuk menyimpan konfigurasi dan menjalankannya menggunakan baris perintah, ikuti langkah berikut:
- Klik pilihan Save as batch… dari menu Fail.
- Anda boleh mengkonfigurasi tugas kumpulan agar berjalan minimum dan menutup tetingkap secara automatik apabila penyegerakan selesai.
- Simpan fail pekerjaan kumpulan ke folder pilihan anda, katakan d: \ BatchRun.ffs_batch
- Kemudian, untuk menyegerakkan folder menggunakan baris perintah, gunakan sintaks baris perintah berikut:
C: \ Fail Program \ FreeFileSync \ FreeFileSync.exe d: \ BatchRun.ffs_batch
Anda boleh membuat fail kumpulan Windows, atau menjalankan perintah di atas melalui Penjadual Tugas pada selang masa yang dikehendaki.
Petua: FreeFileSync juga dapat menyegerakkan folder dengan Google Drive.
$config[ads_text6] not foundKaedah 4: Cara Membandingkan Fail dalam Dua Folder Menggunakan TotalCommander


- Mulakan Total Commander dan pilih folder kiri dan folder kanan untuk dibandingkan.
- Dari menu Perintah, klik Segerakkan dirs…
Dengan dialog Synchronize dirs, anda dapat membandingkan dua direktori termasuk subdirektori antara satu sama lain, dan kemudian menyalin fail dengan perbezaan ke direktori sasaran, atau direktori lain.
Sekiranya anda memilih pilihan Asimetri, ia menjadikan folder kanan sebagai cermin kiri - serupa dengan baris perintah RoboCopy / MIR atau pilihan
Echo
Microsoft SyncToy. Maksudnya, pilihan salinan fail yang hilang atau berlainan ke folder kanan, dan fail dan folder tambahan di sebelah kanan akan dihapus.Anda boleh memilih untuk menunjukkan fail yang sama atau hanya fail yang berbeza dalam output.
Jumlah pilihan perbandingan / penyelarasan Komandan yang dijelaskan di bawah.
Asimetrik Sekiranya pilihan ini dicentang, diandaikan bahawa salinan sebelah kiri harus dibuat di sebelah kanan. Fail yang tidak ada di sebelah kiri akan ditandai untuk dihapus di sebelah kanan. Pilihan ini bertujuan untuk sandaran. Subdir Juga membandingkan subdirektori dari dua direktori yang dipilih. mengikut kandungan Membandingkan kandungan fail yang mempunyai ukuran dan tarikh yang sama. Ia memeriksa bahawa fail juga mempunyai kandungan yang sama. - Pilih pilihan perbandingan "Subdir", "mengikut kandungan".
Penting: Sekiranya kotak centang tarikh abaikan diaktifkan, Total Commander gagal mencari fail yang berbeza / berubah walaupun saiz failnya berbeza. Nampaknya ini adalah bug dalam Total Commander, dan saya dapat menghasilkannya setiap masa.
- Di bahagian Show, nonaktifkan Equal files (dilambangkan dengan simbol
=
), dan aktifkan tiga butang yang lain. - Dayakan pilihan Bujang dan Pendua .
- Tekan butang Bandingkan
Total Commander - Folder membandingkan argumen baris perintah
Untuk memulakan "Synchronize dirs", anda boleh menggunakan sintaks baris perintah berikut:
TOTALCMD64.EXE / S = S d: \ folder_1 d: \ folder_2
Kemudian, konfigurasikan pilihan dan tekan butang Bandingkan .
Untuk memulakan "Synchronize dirs" dan membandingkan folder dengan segera, gunakan sintaks ini:
TOTALCMD64.EXE / S = S: = d: \ folder_1 d: \ folder_2
(perbandingan akan dimulakan dengan direktori yang dilalui dan pilihan yang terakhir digunakan.)
Sebagai pilihan, anda juga dapat memasukkan nama tetapan dalam bentuk /S=S:SettingsName
sehingga perbandingan akan segera dimulai berdasarkan pada pengaturan yang disimpan sebelumnya.
Segerakkan folder menggunakan TotalCommander
- Di tetingkap perbandingan, pilih fail yang ingin anda salin. Ini dilakukan dengan klik pada kotak pilihan di antara dua lajur perbandingan, atau dengan memilih salah satu pilihan di menu klik kanan.
Secara lalai, fungsi akan memilih semua fail yang lebih baru untuk disalin. Untuk membatalkan pilihan fail agar tidak disalin atau diselaraskan, klik dua kali pada anak panah. Untuk membatalkan pilihan beberapa fail, pilih fail, klik kanan pada item dan pilih Remove Selection
Penting: Sekiranya pilihan Asimetri tidak diaktifkan, jika fail di folder kanan lebih baru daripada yang ada di folder kiri, penyegerakan akan dijalankan dari Kanan → Kiri untuk fail itu. Untuk mengubahnya dengan cara lain, klik pada tanda panah di sebelah fail, yang menukar arah penyegerakan.
Sebagai alternatif, anda boleh mengklik kanan pada fail dan memilih Arah salin terbalik untuk mengubah arah penyegerakan.
- Klik pada Segerakkan . Ini akan membuka kotak dialog untuk menyalin fail yang dipilih.
Secara lalai, ia menyegerakkan kedua-dua cara. Sekiranya anda mahu menyegerakkan satu arah - contohnya, folder kiri → folder kanan, kemudian nyahpilih kotak centang Kanan ke kiri dan sebaliknya.
Petua: Menggunakan Total Commander, anda bahkan dapat menyegerakkan direktori tempatan dan direktori pada pelayan FTP.
$config[ads_text6] not foundKaedah 5: Bandingkan & Segerakkan folder dalam Masa Nyata menggunakan DSynchronize

- Lancarkan DSynchronize dan konfigurasikan folder sumber dan destinasi.
- Anda boleh memberikan nama pekerjaan tersuai (untuk automasi kemudian) dengan mengklik butang JOBS. Mari tetapkan nama pekerjaan sebagai
Uploads
- Untuk penyegerakan cermin, pastikan Penyegerakan Bidirectional dilumpuhkan.
- Untuk melakukan perbandingan (hanya) tanpa menyegerakkan dua folder, aktifkan pilihan Pratonton penyegerakan di bawah bahagian Umum.
- Klik pada butang Synchronize untuk melihat senarai fail baru, kemas kini dan hilang di kedua lokasi.
Segerakkan folder
Untuk menyegerakkan folder, hapus centang pilihan Pratonton penyegerakan di bawah bahagian Umum, dan klik Segerakkan . Ia melakukan penyegerakan mod Mirror secara lalai. Mod cermin telah dibincangkan dalam artikel ini sebelumnya. Mod cermin memastikan bahawa folder kanan sama dengan folder kiri. Sebarang direktori dan fail tambahan di destinasi dikeluarkan secara automatik.
Penyegerakan masa nyata
Untuk menyegerakkan dua folder dalam masa nyata:
- Klik pada penyegerakan Realtime di bawah bahagian Pemasa.
- Konfigurasikan tetapan penyegerakan masa nyata seperti yang dikehendaki. Saya menggunakan tetapan lalai.
Secara lalai, ia menyegerakkan folder secara automatik selepas selang 10 saat. Anda boleh mengkonfigurasinya untuk menangguhkan lebih jauh, atau menjadualkannya untuk berjalan pada selang waktu yang ditentukan.
- Dayakan kotak pilihan Monitor subfolder untuk menyegerakkan folder secara berulang .
Saya menyalin beberapa fail ke folder kiri (sumber), dan dalam masa 10 saat, item tersebut diselaraskan ke folder kanan secara automatik. Anda dapat melihatnya dalam GIF animasi ini:

Dan, perubahan (penambahan & penghapusan fail atau folder) dicatat di tetingkap utama.

Apabila penyegerakan masa nyata diaktifkan, ia memantau perubahan fail dan program berada di kawasan pemberitahuan menunggu perubahan. Ia tidak memerlukan banyak sumber CPU atau memori. Terakhir saya periksa, ia hanya menggunakan sekitar 10 MB memori.

Berikut adalah senarai ciri utama DSynchronize:
- Penyegerakan piawai dan pemasa.
- Penyegerakan RealTime.
- Penyegerakan dua arah.
- Penyegerakan transaksi (oleh jurnal NTFS).
- Penapis selektif (anda boleh mengecualikan satu fail atau folder).
- Mulakan sebagai Perkhidmatan (program tidak perlu log masuk).
- Menyokong Pautan Simbolik dan Pautan Keras.
- Menyokong Persimpangan dan Titik Gunung.
- Menyokong ACL.
- Log dihantar melalui E-mel.
- Sandaran versi sebelumnya fail yang diganti.
- Membandingkan bait ke bait.
- Menyokong pelbagai Pekerjaan, masing-masing dengan tetapan dan jalur penyegerakannya.
- Penggunaan sumber minimum (RAM dan CPU).
Sokongan baris perintah
Anda boleh menggunakan baris perintah berikut untuk mengautomasikan DSynchronize:
/START
= Mulakan penyegerakan dengan pilihan terakhir yang disimpan.
/STARTJOB "JobName"
= Mulakan penyegerakan dengan pilihan Pekerjaan yang dipilih).
/MINIMIZE
= Mula diminimumkan di Tray Bar.
/HIDDEN
= Jangan paparkan ikon di Tray Bar.
/NOSECURITYCHECK
= Jangan buat pemeriksaan keselamatan sebelum disegerakkan.
/NOMONITORCHECK
= Jangan periksa resolusi monitor.
/AUTOREALTIME
= Mula diminimumkan, lakukan penyegerakan standard dan aktifkan RealTime.
/SOMEFILE.INI
= Mula menggunakan fail INI terpilih.
Nama pekerjaan boleh disesuaikan dengan mengklik butang JOBS di bahagian atas tetingkap utama program.
Sebagai contoh, untuk menyegerakkan dua folder secara automatik (pekerjaan yang disimpan sebelumnya bernama "Muat Naik"), saya akan menjalankan perintah ini:
"D: \ dsynchronize \ DSynchronize.exe" / STARTJOB "Uploads" / MINIMIZE
Untuk menyegerakkan dua folder (tugas bernama "Muat naik) dan mengaktifkan penyegerakan masa nyata, jalankan:
$config[ads_text6] not found"D: \ dsynchronize \ DSynchronize.exe" / STARTJOB "Uploads" / AUTOREALTIME
Perintah di atas menyegerakkan dua folder yang disebut dalam pekerjaan, dan mengaktifkan pemantauan masa nyata secara automatik. Anda dapat melihat ikon pemantauan masa nyata di kawasan Pemberitahuan.
Itu sahaja!
Kaedah 6: Bandingkan Dua Folder dengan utiliti HashMyFiles menggunakan File Hash Checksum
HashMyFiles adalah utiliti kecil mengira hash checksum untuk fail anda. Ia dapat menghitung hash untuk fail dalam folder dan subfoldernya secara berulang. HashMyFiles membolehkan anda menyimpan hasilnya ke fail. Ia juga dapat mengira hash checksum melalui menu klik kanan.

Sekiranya PowerShell bukan secawan teh anda, gunakan utiliti HashMyFiles dari Nirsoft.net untuk membandingkan hash fail.
Anda boleh menyimpan nama fail dan output hash yang sesuai untuk pohon folder sumber ke source.txt . Begitu juga, simpan entri untuk pohon folder tujuan sebagai destination.txt .
Dalam contoh ini, kita akan membandingkan fail dalam folder berikut:
D: \ Laman Web \ Winhelponline \ blog \ wp-content \ muat naik \ 2019 E: \ RameshPC-Synced Backup \ Laman Web \ Winhelponline \ blog \ wp-content \ muat naik \ 2019
Ikuti langkah-langkah ini untuk menghasilkan hash fail menggunakan HashMyFiles dan membandingkannya:
- Muat turun HashMyFiles dan jalankan.
- Dari menu Pilihan, klik Jenis Hash, dan pilih SHA-256
- Dari menu Lihat, klik Pilih Lajur
- Dalam Tetapan Lajur, aktifkan pilihan SHA-256, Laluan penuh, dan saiz Fail . Klik OK.
- Klik menu Fail dan pilih Tambah Folder
- Pilih folder sumber untuk perbandingan.
- Klik untuk memilih Tambah fail dalam subfolder, dan klik OK.
- Isih hasil mengikut Laluan Penuh, dan pilih semua entri.
- Dari menu Fail, klik Simpan item yang dipilih
- Simpan penyenaraian ke fail bernama source.txt
- Hapus hasilnya dengan memilih Hapus Semua dari menu Fail.
- Ulangi langkah di atas, dan kali ini pilih folder tujuan, simpan senarai ke destination.txt
- Sekarang, edit sumber file.txt dan destination.txt menggunakan Notepad dan alih keluar jalur asas. Dengan menggunakan pilihan Cari di Notepad, cari setiap kejadian jalan dasar di bawah dan ganti dengan tali kosong.
D: \ Laman Web \ Winhelponline \ blog \ wp-content \
- Begitu juga dalam fail destination.txt, hapus jalan asas ini:
E: \ Backup RameshPC-Synced \ Laman Web \ Winhelponline \ blog \ wp-content \
Anda mungkin juga ingin mencari dan membuang simbol
=
yang digunakan sebagai pemisah.Beginilah rupa fail sekarang:
- Sekarang, jalankan WinDiff atau alat membandingkan fail kegemaran anda untuk melihat perbezaannya.
Anda akan melihat senarai fail yang berbeza, fail tambahan, dan fail yang hilang.
Kaedah 7: Cara Membandingkan Fail dalam Dua Folder Menggunakan Robocopy
Sekarang mari kita lihat bagaimana menggunakan utiliti konsol Robocopy terbina dalam untuk membandingkan kandungan dua folder.
Robocopy (“Robust File Copy for Windows”) adalah alat penyalin fail yang sangat baik yang terbina dalam Windows yang mempunyai kemampuan yang sangat besar. Keupayaan Robocopy berada di atas dan di luar perintah salinan Windows dan XCopy yang sudah ada. RoboCopy adalah kaedah yang paling disukai dari semua kaedah baris perintah kerana Robocopy membandingkan bukan sahaja nama fail tetapi juga masa terakhir yang diubah. Ia melaporkan senarai fail yang diubah dan fail / folder baru di jalan sumber dan destinasi.
Antara ciri-cirinya yang sangat baik termasuk salinan mod "cermin" (mirip dengan pilihan " Echo " Microsoft SyncToy), kemampuan untuk mencuba semula jika berlaku gangguan rangkaian, penyalinan pelbagai utas, dll. Selain menyalin fail, kami dapat menggunakan Robocopy untuk membandingkan kandungan dua folder (secara rekursif) dan catat perbezaannya tanpa menyalin apa-apa, seperti jalan kering .
Senario
Fail laman web saya diselaraskan ke cakera keras luaran ( E:\
) secara berkala. Untuk tujuan ilustrasi, mari kita periksa sama ada kedua-dua folder ini sama. Dalam contoh ini, kita akan membandingkan folder berikut, secara berulang (iaitu bersama dengan sub-folder, perbandingan mendalam):
D: \ Laman Web \ Winhelponline \ blog \ wp-content \ muat naik dan E: \ RameshPC-Synced Backup \ Laman Web \ Winhelponline \ blog \ wp-content \ muat naik
- Buka tetingkap Prompt Perintah.
- Jalankan arahan berikut dan tekan ENTER:
robocopy "D: \ Laman web \ Winhelponline \ blog \ wp-content \ uploads" "E: \ RameshPC-Synced Backup \ Website \ Winhelponline \ blog \ wp-content \ uploads" / L / TS / MIR / LOG: D: \ Diff.txt
$config[ads_text6] not foundHasil arahan di atas dicatat ke fail
D:\Diff.txt
. - Keluar dari tetingkap Prompt Perintah.
Perincian mengenai suis baris arahan Robocopy yang digunakan
/L
:: Senarai sahaja - jangan salin, cap waktu atau hapus fail apa pun. Pilihan ini digunakan untuk tujuan pembalakan sahaja; untuk jalan kering./MIR
:: MIRror pokok direktori (bersamaan dengan / E plus / PURGE). Oleh kerana kami menggunakannya dengan suis/L
, tidak ada fail / folder yang akan disalin./TS
:: sertakan fail sumber Time Stamp dalam output./LOG:file
:: status output ke fail LOG (ganti log yang ada).
Dalam contoh ini, kami menulis output ke D:\Diff.txt
. Inilah rupa 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 melihat direktori dan fail tambahan di sumber serta folder tujuan dengan jelas. Ia juga membandingkan cap waktu dan memberitahu anda jika fail lebih lama atau lebih baru (berbanding fail yang sama di destinasi anda).

Dalam contoh ini, berikut adalah perbezaan yang dapat dilihat:
- * EXTRA Dir : Direktori tambahan ada di tempat tujuan tetapi bukan sumbernya.
- * Fail EXTRA : Fail tambahan ada di tempat tujuan tetapi bukan sumbernya.
- Lebih lama : Fail ini lebih lama berbanding dengan fail di destinasi.
- Lebih baru : Fail ini lebih baru berbanding dengan fail di destinasi.
- Fail baru : Fail ini tidak ada di tempat tujuan. Ia juga dipanggil fail
Lonely
Senarai lengkap klasifikasi fail RoboCopy:
----------- ----------- ---------------- ------------ --- ------------- ------------ Classifi_ Ada Di Sedia Ada di Sumber / Dest Dest / Dest Dest / Destation Source Destination File Times Saiz File Atribut ----------- ----------- ---------------- ------------ --- ------------- ------------ Baru Ya Ya Src> dest n / an / a Lebih Lama Ya Ya Src <dest n / an / a Baru Ya Tidak n / an / an / a Ekstra Tidak Ya Tidak n / an / an / a Berubah Ya Ya Sama Berbeza n / a Sama Ya Ya Sama Sama Sama Sama Tweak Ya Ya Sama Sama Berbeza Tidak Sama Ya (fail) Ya (direktori) n / an / an / a ----------- ----------- ---------------- ------ --------- ------------- ------------
Catatan: File Tweaked
didefinisikan sebagai file yang ada di sumber dan tujuan, dengan ukuran dan cap waktu yang sama, tetapi tetapan atribut yang berbeza.
Robocopy adalah alat yang luar biasa untuk membandingkan & menyegerakkan fail dalam dua folder (bersama dengan sub-folder beberapa peringkat dalam) dan menyenaraikan perbezaan dalam fail log.
Segerakkan folder menggunakan Robocopy
Untuk menyegerakkan folder ( hanya dari folder kiri → kanan) dengan RoboCopy, gunakan sintaks baris perintah yang sama yang kami gunakan sebelumnya untuk membandingkan folder, tetapi kali ini tanpa suis /L
(senarai sahaja).
RoboCopy melakukan penyegerakan sehala (dari Kiri → folder kanan)
Mod salinan Cermin RoboCopy ( /MIR
) mirip dengan ciri " Echo " Microsoft SyncToy. Ingat, RoboCopy hanya melakukan penyegerakan kiri → kanan - BUKAN penyegerakan dua hala.
Penting untuk diperhatikan bahawa suis /MIR
juga membuang sebarang fail dan direktori tambahan di pohon folder tujuan. Fail / folder "Tambahan" adalah item yang terdapat di destinasi tetapi tidak terdapat di jalan sumber. Perintah /MIR
(cermin) memastikan bahawa struktur folder tujuan (dan fail) adalah salinan sumber yang tepat.
Gunakan sintaks baris perintah berikut untuk menyegerakkan item dari folder kiri → kanan:
robocopy source_folder destination_folder / MIR / MT
Suis /MT
adalah untuk membuat salinan pelbagai utas untuk operasi penyalinan super cepat. Ini adalah suis pilihan, tetapi sangat berguna.
Status penyegerakan dikeluarkan di konsol untuk setiap item yang diproses, dan statistik ditunjukkan pada akhir output.
Untuk log output ke fail, gunakan sintaks ini:
robocopy source_folder destination_folder / MIR / MT / TS /LOG:D:\Diff.txt


Automatikkan arahan menggunakan fail Batch
Anda boleh menambahkan semua perintah Robocopy ke Notepad, dan menyimpannya sebagai fail Windows Batch (dengan ekstensi .bat
). Cukup klik dua kali pada fail Batch setiap kali anda mahu menyegerakkan folder yang disebutkan. Anda bahkan boleh menjalankan file batch pada selang waktu yang diperlukan menggunakan Task Scheduler.

Kaedah 8: Bandingkan Dua Folder menggunakan File Hash Checksum dengan utiliti FCIV
Dengan menggunakan algoritma hash kriptografi - contohnya, MD5, SHA-1, anda boleh mengesahkan sama ada dua fail sama atau tidak. Chequum adalah nilai hash yang digunakan untuk melakukan pemeriksaan integriti data pada fail. Ini semacam tandatangan untuk fail.
Alat Microsoft File Checksum Integrity Verifier (FCIV) adalah utiliti baris perintah yang mengira MD5 atau SHA1 hash kriptografi untuk fail. Anda dapat mengeluarkan senarai fail bersama dengan hash MD5 atau SHA1 mereka ke pangkalan data XML, dan kemudian membandingkan fail di folder sasaran dengan hash yang disimpan dalam fail pangkalan data XML.
Kaedah ini sangat berguna setelah anda menggunakan salah satu kaedah di atas - contohnya, Robocopy atau WinDiff untuk menyegerakkan dua folder, dan ingin mengesahkan integriti setiap fail tujuan dengan membandingkan hash / checksum fail dengan lokasi sumber.
Senario:
Mari bandingkan isi folder berikut secara berulang menggunakan FCIV:
D: \ Laman web \ Winhelponline \ blog \ wp-content \ muat naik E: \ RameshPC-Synced Backup \ Laman Web \ Winhelponline \ blog \ wp-content \ muat naik
Muat turun Microsoft File Checksum Integrity Verifier dari Pusat Muat turun Microsoft Rasmi, dan ekstrak fciv.exe
ke folder - contohnya, d:\tools
. Kemudian ikuti salah satu kaedah berikut:
Pilihan 1
- Buka tetingkap Prompt Perintah dan gunakan sintaks baris perintah ini:
d: \ tools \ fciv.exe -r -add "D: \ Laman web \ Winhelponline \ blog \ wp-content \ muat naik" -bp "D: \ Laman web \ Winhelponline \ blog \ wp-content" -sha1 -xml d: \ hashdb.xml
Baris arahan di atas menghitung hash SHA1 untuk setiap fail secara berulang dan mengeluarkan nama fail dan hash yang sesuai ke fail
hashdb.xml
bernamahashdb.xml
.Parameter
-bp
digunakan untuk menentukan jalan dasar yang akan dikeluarkan dari nama jalan penuh. Ini memastikan bahawa jalan dasar tidak termasuk dalam output XML sehingga anda dapat membandingkan item di jalur folder tujuan yang mempunyai struktur folder yang sama.Beginilah rupa kandungan fail XML:
- Sekarang, di tetingkap Prompt Perintah, beralih ke folder tujuan dengan menjalankan perintah berikut:
cd / d "E: \ Sandaran RameshPC-Synced \ Laman Web \ Winhelponline \ blog \ wp-content"
- Kemudian, jalankan arahan berikut dan tekan ENTER:
d: \ alat \ fciv.exe -v -sha1 -xml D: \ hashdb.xml
Perintah di atas mengesahkan fail tujuan anda terhadap hash checksum yang anda tangkap sebelumnya dalam XML file
hashdb.xml
.Dalam output, senarai fail yang diubah (berdasarkan hash checksum) dan senarai fail yang hilang (di tempat tujuan) dipaparkan:
Berikut adalah contoh output.
Memulakan pengesahan checksum: tarikh / cap waktu Senarai fail yang diubah: ----------------------- muat naik \ 2019 \ 05 \ w10-disempurnakan-carian-tetapan.png Hash adalah: 8dac0a4400d2b700f81bf70c189e49eb6a620a2f Seharusnya: cc2a1523ef070dc2e498dbf5f8cf5edac1b6900d Tidak dapat memuat naik fail Hash \ 2019 \ 05 \ windiff-header.png Fail ralat yang dinyatakan. Sistem tidak dapat mencari fail Kod ralat: 2 Tidak dapat Hash memuat naik fail \ 2019 \ 05 \ windows-store-error-0x800706d9.png Mesej ralat: Sistem tidak dapat mencari fail yang ditentukan. Kod ralat: 2 muat naik \ 2019 \ 05 \ w10-disempurnakan-carian-tetapan.png Hash adalah: 8dac0a4400d2b700f81bf70c189e49eb6a620a2f Seharusnya: cc2a1523ef070dc2e498dbf5f8cf5edac1b6900d Tidak dapat dijumpai \ tidak dapat dikemas kini fail yang dinyatakan. Kod ralat: 2 Tidak dapat memuat naik fail Hash \ 2019 \ 05 \ windows-store-error-0x800706d9.png Mesej ralat: Sistem tidak dapat mencari fail yang ditentukan. Kod ralat: 2 Pengesahan Akhir: cap waktu
Kaedah di atas sangat membantu untuk memeriksa integriti fail yang sepadan dalam folder tujuan. Tetapi ia tidak menunjukkan senarai fail tambahan di tempat 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!