fc

Vergleicht zwei Dateien oder Gruppen von Dateien und zeigt die Unterschiede zwischen ihnen an.

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 Gekürzt die Ausgabe eines ASCII-Vergleichs. Anstatt alle Zeilen anzuzeigen, die unterschiedlich sind, zeigt fc nur die erste und letzte Zeile für jeden Satz von Differenzen an.
/b Vergleicht die beiden Dateien im Binärmodus, Byte-Byte und versucht nicht, die Dateien nach einem Nichtübereinstimmung erneut zu synchronisieren. Dies ist der Standardmodus zum Vergleichen von Dateien mit den folgenden Dateierweiterungen: .exe, .com, .sys, .obj, .lib oder .bin.
/c Ignoriert die Groß-/Kleinschreibung.
/l Vergleicht die Dateien im ASCII-Modus, zeilenweise und versucht, die Dateien nach dem Suchen nach einem Konflikt neu zu synchronisieren. Dies ist der Standardmodus zum Vergleichen von Dateien, mit Ausnahme von Dateien mit den folgenden Dateierweiterungen: .exe, .com, .sys, .obj, LIB oder .bin.
/lb<n> Legt die Anzahl der Zeilen für den internen Zeilenpuffer auf N fest. Die Standardlänge des Zeilenpuffers beträgt 100 Zeilen. Wenn die Dateien, die Sie vergleichen, mehr als 100 aufeinanderfolgende unterschiedliche Zeilen aufweisen, bricht fc den Vergleich ab.
/n Zeigt die Zeilennummern während eines ASCII-Vergleichs an.
/off[line] Überspringt keine Dateien, für die der Offline-Attributsatz festgelegt ist.
/t Verhindert, dass fc Tabulatoren in Leerzeichen umwandelt. Das Standardverhalten besteht darin, Tabstopps als Leerzeichen mit Stopps an jeder achten Zeichenposition zu behandeln.
/u Vergleicht Dateien als Unicode-Textdateien.
/w Komprimiert Leerzeichen (d. h. Tabstopps und Leerzeichen) während des Vergleichs. Wenn eine Zeile viele aufeinanderfolgende Leerzeichen oder Tabulatoren enthält, behandelt /w diese Zeichen als ein einzelnes Leerzeichen. Bei Verwendung mit /w ignoriert fc Leerzeichen am Anfang und Ende einer Zeile.
/<nnnn> Gibt die Anzahl aufeinanderfolgender Zeilen an, die nach einer Nichtübereinstimmung übereinstimmen müssen, bevor fc die Dateien als neu synchronisiert betrachtet. Wenn die Anzahl der übereinstimmenden Zeilen in den Dateien kleiner als nnnn ist, zeigt fc die übereinstimmenden Zeilen als Differenzen an. Der Standardwert ist 2.
[<drive1>:][<path1>]<filename1> Gibt den Speicherort und den Namen der ersten zu vergleichenden Datei oder Gruppe von Dateien an. filename1 ist erforderlich.
[<drive2>:][<path2>]<filename2> Gibt den Speicherort und den Namen der zweiten zu vergleichenden Datei oder gruppe von Dateien an. filename2 ist erforderlich.
/? Zeigt hilfe an der Eingabeaufforderung an.

Exit codes

In der folgenden Tabelle sind die einzelnen fc.exe Ausgangscode und eine Beschreibung aufgeführt.

Exit code Description
0 Dateien sind identisch.
1 Dateien unterscheiden sich.
2 Fehler beim Vergleich.

Remarks

  • Dieser Befehl wird von c:\WINDOWS\fc.exeimplementiert. Sie können diesen Befehl in PowerShell verwenden, aber achten Sie darauf, die vollständige ausführbare Datei (fc.exe) zu erstellen, da "fc" auch ein Alias für "Format-Custom" ist.

  • Wenn Sie fc für einen ASCII-Vergleich verwenden, zeigt fc die Unterschiede zwischen zwei Dateien in der folgenden Reihenfolge an:

    • Name der ersten Datei

    • Zeilen von Dateiname1 , die sich zwischen den Dateien unterscheiden

    • Erste Zeile, die in beiden Dateien übereinstimmen soll

    • Name der zweiten Datei

    • Zeilen aus Dateiname2 , die sich unterscheiden

    • Erste Zeile, die übereinstimmen soll

  • /b zeigt Diskrepanzen, die während eines binären Vergleichs gefunden werden, in der folgenden Syntax an:

    \<XXXXXXXX: YY ZZ>

    Der Wert von XXXXXXXX gibt die relative hexadezimale Adresse für das Bytepaar an, gemessen am Anfang der Datei. Adressen beginnen bei 00000000. Die Hexadezimalwerte für YY und ZZ stellen die nicht übereinstimmenden Bytes aus filename1 bzw. filename2 dar.

  • Sie können Platzhalterzeichen (* und ?) in Dateiname1 und Dateiname2 verwenden. Wenn Sie einen Platzhalter in Dateiname1 verwenden, vergleicht fc alle angegebenen Dateien mit der Datei oder Gruppe von Dateien, die durch Dateiname2 angegeben werden. Wenn Sie einen Platzhalter in Dateiname2 verwenden, verwendet fc den entsprechenden Wert aus Dateiname1.

  • Beim Vergleich von ASCII-Dateien verwendet fc einen internen Puffer (groß genug, um 100 Zeilen aufzunehmen) als Speicher. Wenn die Dateien größer als der Puffer sind, vergleicht fc , was in den Puffer geladen werden kann. Wenn fc in den geladenen Teilen der Dateien keine Übereinstimmung findet, wird es gestoppt und die folgende Meldung angezeigt:

    Resynch failed. Files are too different.

    Beim Vergleich von Binärdateien, die größer als der verfügbare Arbeitsspeicher sind, vergleicht fc beide Dateien vollständig, wobei die Teile im Speicher mit den nächsten Teilen von der Festplatte überlagert werden. Die Ausgabe entspricht dem für Dateien, die vollständig in den Arbeitsspeicher passen.

Examples

Geben Sie Folgendes ein, um einen ASCII-Vergleich von zwei Textdateien, monthly.rpt und sales.rpt, durchzuführen und die Ergebnisse in einem abgekürzten Format anzuzeigen:

fc /a monthly.rpt sales.rpt

Geben Sie Folgendes ein, um einen binären Vergleich zweier Batch-Dateien profits.bat und earnings.batdurchzuführen:

fc /b profits.bat earnings.bat

Die Folgenden Ergebnisse werden wie folgt angezeigt:

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

Wenn die profits.bat und die earnings.bat identisch sind, zeigt fc die folgende Meldung an:

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

Geben Sie Folgendes ein, um jede .bat Datei im aktuellen Verzeichnis mit der Datei new.batzu vergleichen:

fc *.bat new.bat

Geben Sie Folgendes ein, um die Dateinew.bat auf Laufwerk C mit der Datei new.bat auf Laufwerk D zu vergleichen: Geben Sie Folgendes ein:

fc c:new.bat d:*.bat

Um jede Batchdatei im Stammverzeichnis auf Laufwerk C mit der Datei mit demselben Namen im Stammverzeichnis auf Laufwerk D zu vergleichen, geben Sie Folgendes ein:

fc c:*.bat d:*.bat