一、雖是初見卻似曾相識
WinDiff是windows2000支持工具中的一個對文件進行比較的工具。主要用來比較ASCII的文件,最顯著的用途是用來比較程序文件的源代碼。假如,你的A:盤上有一個文件,它原來是從C:盤拷貝而來的。由於某種原因,你懷疑A:盤上的文件可能出現了問題,若確保這時候C:盤上的文件絕無問題,就可以將A:盤上的文件與C:盤上的文件用WinDiff進行比較。你要對dos命令熟悉的話,就一定知道Comp命令或FC命令。其實,WinDiff從作用上說,就相當於上述的dos命令,只不這個是windows版本而且功能更強了。所以,從功能上說:該工具雖是初見卻似曾相識。
也像支持工具中的某些程序一樣,WinDiff使用兩種界面都可以工作:即命令行界面和圖形界面。但也有與以前那些兩種版本都具備的工具有不同之處:即在命令行中啟動WinDiff之後,也會出現圖形界面。我實際驗證了一下,輸出結果與Windows的工作界面一致。
命令行可以在命令控制台--CMD窗口中使用,在CMD下工作,最主要的優點是占用系統資源很少,能適應於對資源限制嚴格的環境;圖形界面的程序可以在windows2000中直接使用,兩者實際是一樣的。另一個問題是取得在線幫助,我們很習慣於"命令/?"的方式,有了這一特殊性,在CMD窗口內,你再像以前的命令行程序那樣,用/?來取得幫助時,結果不是字符界面。
而是如上面的屏幕截圖。雖是圖形,但也起到了在線幫助的作用。
二、介紹命令行
WinDiff 使用命令行的詳細語法如下:
windiff path1 [path2] [-D] [-O] [-N name] [-S [options] savefile] [-F [options] comp_savefile]
參數以及說明:
path1 path2
進行比較的文件路徑。
-D
只在一個目錄內進行比較。
-O
摘要顯示比較結果。
-N name
這個參數用來在文件比較結束之後發出(比較結果的)通知。name 是用網絡發送通知時的文件名稱。
-S options
保存所有文件列表的選項,具體的選項開關可以參考下面的字符:
-s: 比較在同一路徑中的兩個文件。
-l: 只比較第一個路徑中的文件(位於最左邊的一個)。
-r: 只比較第二個路徑中的文件(位於最右邊的一個)。
-d: 比較位於不同路徑中的兩個文件。
savefile
用來指定寫入比較結果的文件名字
-F options
保存(結果)文件的可使用選項如下:
-i: 在兩個路徑中保存相同的文件。
-l: 僅在第一個文件所在的路徑保存文件。
-r: 僅在第二個文件所在的路徑中保存文件。
-f: 僅保存左移文件。
-g: 僅保存右移移文件。
-s: 僅保存類似與左邊的文件。
-a: 僅保存類似與右邊的文件。
這裡的左邊和右邊是指相比較的兩個文件而言的,例如比較的兩個文件是:filename1 filename2,則filename1就是左邊, filename2就是右邊。
comp_savefile
所得的比較結果需要保存在一個文件中,savefile 就是這個文件名稱。
為比較結果中的不同項目,可使用的背景顏色選擇如下:等號左邊是顏色,右邊是對應於該顏色的項目。
red background = left file
yellow background = right file
blue text = moved line
black text = everything else
由於不論在CMD命令控制台中還是直接在windows2000中啟動WinDiff,出現的都是圖形的界面,所以,下面介紹命令行的部分提到菜單等名詞是正常的。對於使用WinDiff的命令行進行文件比較,主要掌握的原則是:
1. 調用WinDiff,但沒有指定參與比較的文件的路徑path1 path2時,可以以鼠標從File菜單中點擊Compare Files或 Compare Directories 來指定用來比較的文件或目錄。
2. 調用WinDiff,僅明確指出了位於路徑path1中的文件。並未指定path2的文件名稱,則WinDiff將拿當前目錄中的與已經指定文件同名的文件進行比較。
3. 仿照上面,調用WinDiff,僅明確指出了path1的目錄路徑。並未指定path2的的目錄,則WinDiff將拿當前目錄中的文件與已經指定的目錄文件進行比較。
4. 調用WinDiff,明確指出了位於路徑path1和 path2中的文件名稱和路徑, WinDiff將對這兩個文件進行比較。
仿照上面一步,調用WinDiff,明確指出了位於路徑path1和 path2目錄, WinDiff將對這兩個目錄中的文件進行比較。
由於命令行啟動之後仍然顯示圖形界面,所以,這些參數的實際用處不是很大。要從實用性和方便性兩下權衡對WinDiff的操作,應當學會掌握圖形界面下的文件比較的操作。這些,我們將留在下一次介紹。