fc
比較兩個檔案或一組檔案,並顯示它們之間的差異。
語法
fc /a [/c] [/l] [/lb<n>] [/n] [/off[line]] [/t] [/u] [/w] [/<nnnn>] [<drive1>:][<path1>]<filename1> [<drive2>:][<path2>]<filename2>
fc /b [<drive1:>][<path1>]<filename1> [<drive2:>][<path2>]<filename2>
參數
參數 | 描述 |
---|---|
/a | 縮寫 ASCII 比較的輸出。 fc 不會顯示所有不同的行,而是只顯示每組差異的第一行和最後一行。 |
/b | 以二進位模式依位元組比較兩個檔案,而且在發現不相符後不會嘗試重新同步檔案。 這是比較具有以下檔案副檔名的檔案之預設模式:.exe、.com、.sys、.obj、.lib 或 .bin。 |
/c | 忽略字母大小寫。 |
/l | 以 ASCII 模式逐行比較檔案,並在發現不相符後嘗試重新同步檔案。 這是比較檔案的預設模式,具有以下檔案副檔名的檔案除外:.exe、.com、.sys、.obj、.lib 或 .bin。 |
/lb<n> |
將內部行緩衝區的行數設定為 N。行緩衝區的預設長度為 100 行。 如果您要比較的檔案有超過 100 個連續的不同行,fc 會取消比較。 |
/n | 顯示 ASCII 比較期間的行號。 |
/off[line] | 不會略過已設定離線屬性的檔案。 |
/t | 防止 fc 將定位字元轉換成空格。 預設行為是將定位字元視為空格,並在每八個字元位置處停止。 |
/u | 將檔案做為 Unicode 文字檔進行比較。 |
/w | 在比較期間壓縮空格 (也就是定位字元和空格)。 如果一行包含許多連續空格或定位字元,/w 會將這些字元視為單一空格。 搭配 /w 使用時,fc 會忽略行首和行尾的空格。 |
/<nnnn> |
指定在 fc 將檔案重新同步處理之前,必須符合的連續行數。 如果檔案中的相符行數小於 nnnn,fc 將符合行顯示為差異。 預設值是 2。 |
[<drive1>:][<path1>]<filename1> |
指定要比較之第一個檔案或第一組檔案的位置和名稱。 需要 filename1。 |
[<drive2>:][<path2>]<filename2> |
指定要比較之第二個檔案或第二組檔案的位置和名稱。 需要 filename2。 |
/? | 在命令提示字元顯示說明。 |
備註
此命令是由 c:\WINDOWS\fc.exe 實作。 您可以在 PowerShell 中使用此命令,但請務必拼出完整的可執行檔 (fc.exe),因為「fc」也是 Format-Custom 的別名。
當您使用 fc 進行 ASCII 比較時,fc 會依下列順序顯示兩個檔案之間的差異:
第一個檔案的名稱。
filename1 中檔案之間不同的行
在這兩個檔案中相符的第一行
第二個檔案的名稱
filename2 中不同的行
要比對的第一行
/b 顯示在二進位比較過程中發現的不相符項目,語法如下:
\<XXXXXXXX: YY ZZ>
XXXXXXXX 的值指定位元組對的相對十六進位位址,從檔案開頭開始測量。 位址從 00000000 開始。 YY 和 ZZ 的十六進位值分別表示 filename1 和 filename2 中不相符的位元組。
您可以在 filename1 和 filename2 中使用萬用字元 (*和 ?)。 如果您在 filename1 中使用萬用字元,fc 會將所有指定的檔案與 filename2 指定的檔案或檔案集進行比較。 如果您在 filename2 中使用萬用字元,fc 會使用 filename1 中的對應值。
比較 ASCII 檔案時,fc 會使用內部緩衝區 (足以保留 100 行) 做為儲存。 如果檔案大於緩衝區,fc 會比較它可以載入緩衝區的內容。 如果 fc 在檔案的載入部分找不到相符項目,則會停止並顯示以下訊息:
Resynch failed. Files are too different.
當比較大於可用記憶體的二進位檔案時,fc 會完全比較兩個檔案,將記憶體中的部分與磁碟中的下一部分重疊。 輸出與完全符合記憶體中檔案的輸出相同。
範例
若要比較兩個文字檔:monthly.rpt 和 sales.rpt 進行 ASCII 比較,並以縮寫格式顯示結果,請輸入:
fc /a monthly.rpt sales.rpt
若要對兩個批次檔案 profits.bat 和 earnings.bat 進行二進位比較,請輸入:
fc /b profits.bat earnings.bat
出現類似以下內容的結果:
00000002: 72 43
00000004: 65 3A
0000000E: 56 92
000005E8: 00 6E
FC: earnings.bat longer than profits.bat
如果 profits.bat 和 earnings.bat 檔案相同,fc 會顯示下列訊息:
Comparing files profits.bat and earnings.bat
FC: no differences encountered
若要將目前目錄中每個 .bat 檔案與 new.bat 檔案進行比較,請輸入:
fc *.bat new.bat
若要將磁碟機 C 上的檔案 new.bat 和磁碟機 D 上的檔案 new.bat 進行比較,請輸入:
fc c:new.bat d:*.bat
若要將磁碟機 C 上的根目錄中的每個批次檔與磁碟機 D 上的根目錄中的同名檔案進行比較,請輸入:
fc c:*.bat d:*.bat