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 將檔案重新同步處理之前,必須符合的連續行數。 如果檔案中的相符行數小於 nnnnfc 將符合行顯示為差異。 預設值是 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 開始。 YYZZ 的十六進位值分別表示 filename1filename2 中不相符的位元組。

  • 您可以在 filename1filename2 中使用萬用字元 (*?)。 如果您在 filename1 中使用萬用字元,fc 會將所有指定的檔案與 filename2 指定的檔案或檔案集進行比較。 如果您在 filename2 中使用萬用字元,fc 會使用 filename1 中的對應值。

  • 比較 ASCII 檔案時,fc 會使用內部緩衝區 (足以保留 100 行) 做為儲存。 如果檔案大於緩衝區,fc 會比較它可以載入緩衝區的內容。 如果 fc 在檔案的載入部分找不到相符項目,則會停止並顯示以下訊息:

    Resynch failed. Files are too different.

    當比較大於可用記憶體的二進位檔案時,fc 會完全比較兩個檔案,將記憶體中的部分與磁碟中的下一部分重疊。 輸出與完全符合記憶體中檔案的輸出相同。

範例

若要比較兩個文字檔:monthly.rptsales.rpt 進行 ASCII 比較,並以縮寫格式顯示結果,請輸入:

fc /a monthly.rpt sales.rpt

若要對兩個批次檔案 profits.batearnings.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