fc

Vergleicht zwei Dateien oder Dateigruppen 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>

Parameter

Parameter BESCHREIBUNG
/a Kürzt die Ausgabe eines ASCII-Vergleichs. Statt aller unterschiedlichen Zeilen zeigt fc für jeden Gruppe von Unterschieden nur die erste und die letzte Zeile an.
/b Vergleicht die beiden Dateien Byte für Byte im binären Modus und versucht nicht, die Dateien erneut zu synchronisieren, nachdem ein Unterschied gefunden wurde. Dies ist der Standardmodus zum Vergleichen von Dateien mit den Dateierweiterungen „.exe“, „.com“, „.sys“, „.obj“, „.lib“ oder „.bin“.
/c Ignoriert die Groß-/Kleinschreibung.
/l Vergleicht die Dateien Zeile für Zeile im ASCII-Modus und versucht, die Dateien erneut zu synchronisieren, nachdem ein Unterschied gefunden wurde. Dies ist der Standardmodus zum Vergleichen von Dateien, die keine der Dateierweiterungen „.exe“, „.com“, „.sys“, „.obj“, „.lib“ oder „.bin“ aufweisen.
/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 verglichenen Dateien mehr als 100 aufeinanderfolgende unterschiedliche Zeilen aufweisen, bricht fc den Vergleich ab.
/n Zeigt bei einem ASCII-Vergleich die Zeilennummern an.
/off[line] Überspringt keine Dateien, für die das Attribut „offline“ festgelegt ist.
/t Verhindert, dass fc Tabstopps in Leerzeichen konvertiert. Das Standardverhalten besteht darin, Tabstopps als Leerzeichen zu behandeln. Hierbei wird an jeder achten Zeichenposition angehalten.
/U Vergleicht Dateien als Unicode-Textdateien.
/w Komprimiert Leerraumzeichen (d. h. Tabstopps und Leerzeichen) während des Vergleichs. Wenn eine Zeile viele aufeinanderfolgende Leerzeichen oder Tabstopps enthält, behandelt /w diese Zeichen als ein einzelnes Leerzeichen. Bei Verwendung mit /w ignoriert fc Leerraumzeichen am Anfang und Ende einer Zeile.
/<nnnn> Gibt die Anzahl der aufeinanderfolgenden Zeilen an, die nach einem Unterschied übereinstimmen müssen, damit 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 Unterschiede an. Der Standardwert ist 2.
[<drive1>:][<path1>]<filename1> Gibt den Speicherort und den Namen der ersten Datei oder Dateigruppe für den Vergleich an. filename1 ist erforderlich.
[<drive2>:][<path2>]<filename2> Gibt den Speicherort und den Namen der zweiten Datei oder Dateigruppe für den Vergleich an. filename2 ist erforderlich.
/? Zeigt die Hilfe an der Eingabeaufforderung an.

Bemerkungen

  • Dieser Befehl wird durch „c:\WINDOWS\fc.exe“ implementiert. Sie können diesen Befehl in PowerShell verwenden. Achten Sie jedoch darauf, die ausführbare Datei (fc.exe) vollständig auszuschreiben, 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 aus filename1, die sich zwischen den Dateien unterscheiden

    • Erste Zeile, die in beiden Dateien übereinstimmt

    • Name der zweiten Datei

    • Zeilen aus filename2, die sich unterscheiden

    • Erste übereinstimmende Zeile

  • /b zeigt Unterschiede, die bei einem binären Vergleich 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 vom Anfang der Datei. Adressen beginnen bei 00000000. Die Hexadezimalwerte für YY und ZZ stellen jeweils die nicht übereinstimmenden Bytes von filename1 und filename2 dar.

  • Sie können in filename1 und filename2 Platzhalterzeichen (* und ?) verwenden. Wenn Sie ein Platzhalterzeichen in filename1 verwenden, vergleicht fc alle angegebenen Dateien mit der Datei oder Dateigruppe, die durch filename2 angegeben wird. Wenn Sie ein Platzhalterzeichen in filename2 einsetzen, verwendet fc den entsprechenden Wert aus filename1.

  • Beim Vergleichen von ASCII-Dateien verwendet fc einen internen Puffer (groß genug für 100 Zeilen) als Speicher. Wenn die Dateien den Puffer übersteigen, vergleicht fc den Teil, der in den Puffer geladen werden kann. Wenn fc in den geladenen Teilen der Dateien keine Übereinstimmung findet, wird der Vorgang angehalten und die folgende Meldung angezeigt:

    Resynch failed. Files are too different.

    Beim Vergleich von Binärdateien, die den verfügbaren Arbeitsspeicher übersteigen, vergleicht fc beide Dateien vollständig und überlagert die Teile im Arbeitsspeicher mit der nächsten Portion vom Datenträger. Die Ausgabe ist dieselbe wie die für Dateien, die vollständig in den Arbeitsspeicher passen.

Beispiele

Um einen ASCII-Vergleich der beiden Textdateien monthly.rpt und sales.rpt durchzuführen und die Ergebnisse im abgekürzten Format anzuzeigen, geben Sie folgenden Befehl ein:

fc /a monthly.rpt sales.rpt

Um einen binären Vergleich von zwei Batchdateien, profits.bat und earnings.bat durchzuführen, geben Sie folgenden Befehl ein:

fc /b profits.bat earnings.bat

Es werden in etwa folgende Ergebnisse angezeigt:

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

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

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

Um jede BAT-Datei im aktuellen Verzeichnis mit der Datei new.bat zu vergleichen, geben Sie folgenden Befehl ein:

fc *.bat new.bat

Um die Datei new.bat auf Laufwerk C mit der Datei new.bat auf Laufwerk D zu vergleichen, geben Sie folgenden Befehl ein:

fc c:new.bat d:*.bat

Um jede Batchdatei im Stammverzeichnis auf Laufwerk C mit der Datei desselben Namens im Stammverzeichnis auf Laufwerk D zu vergleichen, geben Sie folgenden Befehl ein:

fc c:*.bat d:*.bat