Sdílet prostřednictvím


fc

Porovná dva soubory nebo sady souborů a zobrazí rozdíly mezi nimi.

Syntax

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>

Parameters

Parameter Description
/a Zkracuje výstup porovnání ASCII. Místo zobrazení všech řádků, které se liší, fc zobrazí pouze první a poslední řádek pro každou sadu rozdílů.
/b Porovná dva soubory v binárním režimu, bajt bajtů a nepokoušá se znovu synchronizovat soubory po nalezení neshody. Toto je výchozí režim porovnání souborů, které mají následující přípony souborů: .exe, .com, .sys, .obj, .lib nebo .bin.
/c Přeskočí písmena.
/l Porovná soubory v režimu ASCII, řádek po řádku a pokusí se znovu synchronizovat soubory po nalezení neshody. Toto je výchozí režim pro porovnávání souborů s výjimkou souborů s následujícími příponami souborů: .exe, .com, .sys, .obj, .lib nebo .bin.
/lb<n> Nastaví počet řádků pro vnitřní vyrovnávací paměť řádků na N. Výchozí délka vyrovnávací paměti řádků je 100 řádků. Pokud porovnávané soubory obsahují více než 100 po sobě jdoucích rozdílných řádků, funkce fc porovnání zruší.
/n Zobrazí čísla řádků během porovnání ASCII.
/off[line] Nepřekočuje soubory, které mají nastavený atribut offline.
/t Zabrání fc v převodu tabulátorů na mezery. Výchozím chováním je zacházet s tabulátory jako s mezerami, přičemž zarážky na každé osmé pozici znaku.
/u Porovná soubory jako textové soubory Unicode.
/w Během porovnání zkomprimuje prázdné znaky (tj. tabulátory a mezery). Pokud řádek obsahuje mnoho po sobě jdoucích mezer nebo tabulátorů, parametr /w považuje tyto znaky za jednu mezeru. Při použití s parametrem /wignoruje funkce fc prázdné znaky na začátku a na konci řádku.
/<nnnn> Určuje počet po sobě jdoucích řádků, které se musí shodovat po neshodě, než fc považuje soubory za znovu synchronizované. Pokud je počet shodných řádků v souborech menší než nnnn, fc zobrazí odpovídající řádky jako rozdíly. Výchozí hodnota je 2.
[<drive1>:][<path1>]<filename1> Určuje umístění a název prvního souboru nebo sady souborů, které se mají porovnat. Název souboru1 je povinný.
[<drive2>:][<path2>]<filename2> Určuje umístění a název druhého souboru nebo sady souborů, které chcete porovnat. Název souboru2 je povinný.
/? Zobrazí nápovědu na příkazovém řádku.

Exit codes

Následující tabulka uvádí každý fc.exe ukončovací kód a popis.

Exit code Description
0 Soubory jsou identické.
1 Soubory se liší.
2 Během porovnání došlo k chybě.

Remarks

  • Tento příkaz je implementován c:\WINDOWS\fc.exe. Tento příkaz můžete použít v PowerShellu, ale nezapomeňte zadat úplný spustitelný soubor (fc.exe), protože fc je také alias pro Format-Custom.

  • Použijete-li pro porovnání ASCII příkaz fc , zobrazí příkaz fc rozdíly mezi dvěma soubory v následujícím pořadí:

    • Název prvního souboru

    • Řádky z názvu souboru1 , které se liší mezi soubory

    • První řádek, který se má shodovat v obou souborech

    • Název druhého souboru

    • Řádky z názvu souboru2 , které se liší

    • První řádek, který se má shodovat

  • Parametr /b zobrazí neshody zjištěné při binárním porovnání v následující syntaxi:

    \<XXXXXXXX: YY ZZ>

    Hodnota XXXXXXXX určuje relativní hexadecimální adresu pro dvojici bajtů, měřenou od začátku souboru. Adresy začínají na 000000000. Hexadecimální hodnoty pro YY a ZZ představují neshodné bajty z názvu souboru1 a názvu souboru2.

  • Zástupné znaky (* a ?) můžete použít v názvu souboru1 a názvu souboru2. Pokud v názvu souboru1 použijete zástupný znak, fc porovná všechny určené soubory se souborem nebo sadou souborů určenou parametrem název_souboru2. Pokud použijete zástupný znak v filename2, fc použije odpovídající hodnotu z filename1.

  • Při porovnávání souborů ASCII používá fc jako úložiště interní vyrovnávací paměť (dostatečně velkou, aby se do ní vešlo 100 řádků). Pokud jsou soubory větší než vyrovnávací paměť, fc porovná, co může do vyrovnávací paměti načíst. Pokud nástroj fc nenalezne shodu v načtených částech souborů, zastaví se a zobrazí následující zprávu:

    Resynch failed. Files are too different.

    Při porovnávání binárních souborů, které jsou větší než dostupná paměť, fc porovná oba soubory úplně a překryje části paměti dalšími částmi z disku. Výstup je stejný jako u souborů, které se zcela zapadají do paměti.

Examples

Chcete-li provést porovnání ASCII dvou textových souborů, monthly.rpt a sales.rpt, a zobrazit výsledky ve zkráceném formátu, zadejte:

fc /a monthly.rpt sales.rpt

Chcete-li provést binární porovnání dvou dávkových souborů, profits.bat a earnings.bat, zadejte:

fc /b profits.bat earnings.bat

Zobrazí se podobné výsledky:

00000002: 72 43
00000004: 65 3A
0000000E: 56 92
000005E8: 00 6E
FC: earnings.bat longer than profits.bat

Pokud jsou soubory profits.bat a earnings.bat identické, zobrazí příkaz fc následující zprávu:

Comparing files profits.bat and earnings.bat
FC: no differences encountered

Chcete-li porovnat každý soubor .bat v aktuálním adresáři se souborem new.bat, zadejte:

fc *.bat new.bat

Chcete-li porovnat new.bat souboru na jednotce C se souborem new.bat na jednotce D, zadejte:

fc c:new.bat d:*.bat

Pokud chcete porovnat jednotlivé dávkové soubory v kořenovém adresáři na jednotce C se souborem se stejným názvem v kořenovém adresáři na jednotce D, zadejte:

fc c:*.bat d:*.bat
  • Command-Line syntaxe