前言
beyond compare軟件是一款對比功能非常強大的軟件,它可以用來比對圖片、文本、表格、MP3等等,用起來很方便、直觀。最近在使用的時候,因為要批量比對很多的圖片,一張一張的圖片比對要一個一個打開再比對感覺很麻煩,我就想能不能用腳本批量比對,我只檢查批量比對出來的結果就好。還真的找到了,beyond compare支持命令行,這個軟件好強大(*^_^*),有沒有沒有(^ ^)。
1、 命令行安裝
mac版安裝:
- 先去官網下載BeyondComPare
- 安裝過BeyondComPare后打開——>BeyondComPare——>安裝命令行工具
2、命令行對比
2.1 比較2個文件
查詢官網手冊,Mac上比對2個文件命令:
bcompare file1 file2
結果:
命令會直接打開beyond compare軟件,並且打開要比對的2張圖片。如下圖所示:下圖是我用命令行打開的2張圖片,比對不一致的地方,默認會用紅色顯示
2.2 使命令行批量比較文件並生成html格式的差異報告。
比對不同類型的數據,生成報告的腳本不同,具體的可參考官網。生成圖片比對報告的腳本如下:
picture-report layout:<layout> [options:<options>] [title:<report title>] output-to:(printer|clipboard|<filename>) [output-options:<options>] [<comparison>]
參數說明:
-
- layout:控制報告的生成,是並行的還是立即
- options:可選項,每一個layout不一樣
- title:控制顯示在報告頂部的標題
- output-to:控制輸出,可以是文件、剪貼板或者打印機
- output-options:可選的,並且對每個輸出目標使用不同的選項
3、批量比對
復制腳本到一個文件,保存文件為MyCompareScript.text
picture-report layout:side-by-side options:display-mismatches output-to:%3 output-options:html-color %1 %2
python 中調用命令:
import subprocess def compare_img(src_pic,target_pic,out_file): subprocess.Popen('bcompare -silent "@MyCompareScript" %s %s %s'%(src_pic, target_pic, out_file),shell=True)
4、參考資料
官網文檔:http://www.scootersoftware.com/v4help/