兩份檔案差在哪:WinMerge 把差異擺成左右兩欄
摘要
從 2000 年維護至今的開源差異工具:兩份檔案逐行對照、差異處高亮,整個資料夾也能遞迴比對並標出狀態;三路合併、圖片與表格比較、報告與補丁輸出都具備,採 GPL v2 授權。
推薦- 軟體名稱
- WinMerge
- 版本
- 2.16.58.2
- 收費
- 免費
- 開源
- 開源
- 作業系統
- Windows
- 更新時間
- 2026-10-06 22:27
看差異這件事,得靠專門的工具
同一份文稿存了兩個版本,心裡知道裡面有句話被改過,卻不確定是哪一句;一個程式碼資料夾備份了兩次,也說不準最後那次修改有沒有進到備份裡。用眼睛一行一行對,費神,而且更糟的是不可靠——注意力偏偏會滑過真正要緊的那幾行。WinMerge 是一款維護了很久的開源比較與合併工具,從 2000 年立項至今持續開發,專門回答一個問題:這兩份檔案、這兩個資料夾,到底哪裡不一樣。它用視覺的方式回答:左右兩欄並排,差異處標出來,答案是一眼就到,而不是讀完一遍才有。
檔案比較:逐行對照,合併就在同一個視窗裡
把兩個檔案拖進視窗,比對立刻開始。相同的段落折疊起來、淡出視線,不同的行用不可能漏掉的顏色標出,行內的細微改動還有嵌入式高亮,連一個標點符號的差別都不放過。被移動過、而不是被改寫的程式碼區塊會被辨識成「移動」,不會誤報成一刪一增,這省下的是大量沒有必要的閱讀。側邊的差異導覽圖一按就跳到下一處不同,而真正重要的兩個按鈕——複製到左側、複製到右側——就放在工具列上:看一處、解決一處、往下走,最後存檔。比對的是程式碼時會套用語法高亮,三路模式則把共同的基準版與兩個修改版並排,那正是版本控制系統留下來的衝突檔的形狀。
資料夾比較:整棵目錄樹,加上每個檔案的狀態
在單一檔案之上,它還能遞迴比對整棵資料夾樹。哪些檔案只在左邊有、哪些只在右邊有、哪些兩邊都有但內容不同,全部由狀態欄講清楚;樹狀檢視讓階層的形狀留在眼前,正規表示式過濾則把清單削到只剩正在找的那些。按大小、按日期篩選能快速回答比較窄的問題,而沒有意義的差異可以叫它安靜。被改名、被搬動的檔案會被追蹤,而不是當成新檔案,於是報告不會被「刪除加新增」的噪音塞滿。在兩邊之間批次複製檔案,從右鍵選單就能做,核對備份或同步目錄因此只剩下點幾下的事;第三個資料夾也能一起拉進來,處理「本機、備份、線上」這種三角關係正好。
不只文字:圖片、表格、壓縮檔都能比
它能比的對象不限於純文字。圖片有兩種檢視,一種把有差異的區域成塊標出,一種把兩張疊在一起,兩者都能回答「這張圖到底有沒有改、改在哪」。表格以欄位資料並排呈現、逐欄對齊,這是讀兩版資料檔案唯一講得通的方式。借助一套廣泛使用的開源解包核心,它可以直接看進壓縮檔內部,甚至拿壓縮檔跟資料夾比。外掛機制把同樣的待遇延伸到試算表與 PDF 這類專有格式;整個工具也能註冊成版本控制流程的外部比較程式,於是下比對指令時打開的是這個視窗,而不是一個樸素的命令列。
報告與補丁,讓發現能夠傳出去
比對結果只留在自己的螢幕上,用處有限。差異可以匯出成 HTML 報告,較新的版本還能把多次檔案比較彙整成一份,於是請同事評閱就變成一個附件,而不是一場會議。標準格式的補丁檔也能產生,配合程式碼協作流程使用。命令列參數夠完整,定期核對可以寫成批次腳本;新版本還加了單一實例分組之類的細節改進,不再把視窗散得到處都是。
免費、開源、Windows 原生
WinMerge 以 GPL v2 授權開源,個人使用免費,介面也翻成了很長的語言清單。它原生面向 Windows,提供常見 64 位架構與 ARM 架構的安裝包,並且與檔案總管整合:選中兩個檔案、從右鍵選單叫它,比對就直接開始。截至 2026 年 9 月,穩定版仍按月迭代,修小問題、維持翻譯的時效,這也是它值得放在手邊、而不是裝一次就忘掉的原因。