Befehl: fc
FC vergleicht zwei Dateien oder Dateisätze, im Text- oder Binärmodus
und zeigt die Unterschiede zwischen ihnen an.
Syntax:
FC [Schalter] [Laufwerk1:][Pfad1]Dateiname1 [Laufwerk2][Pfad2]
Dateiname2 [Schalter]
Optionen:
/A Zeigt nur die erste und letzte Zeile jedes Unterschiedssatzes an.
/B Führt einen Binärvergleich durch.
/C Groß-/Kleinschreibung ignorieren.
/L Vergleicht Dateien als ASCII-Text.
/LBn Setzt die maximale Anzahl aufeinanderfolgender unterschiedlicher
ASCII-Zeilen auf n.
/Mn Setzt die maximalen Unterschiede im Binärvergleich auf n Bytes
(Standard: 20, 0 = unbegrenzt, /M = /M0).
/N Zeigt die Zeilennummern bei einem Textvergleich an.
/Q Zeigt die Liste der Unterschiede nicht an.
/R Zeigt einen kurzen Abschlussbericht an (immer aktiv bei Verwen-
dung von /S).
/S Erweitert den Scan auf Dateien in Unterverzeichnissen.
/T Wandelt Tabulatoren nicht in Leerzeichen um.
/U Zeigt die Dateinamen der Dateien ohne Entsprechung an.
/W Leerzeichen (Tabulatoren und Leerzeichen) für den Textvergleich
komprimieren.
/X Zeigt keine Kontextzeilen im Textvergleich an.
/nnn Setzt die Mindestanzahl aufeinanderfolgender übereinstimmender
Zeilen auf nnn. Für die Vergleichsresynchronisierung.
/? Zeigt die Hilfe an.
Kommentar:
FC ist LFN-kompatibel und verwendet diese automatisch, sofern das
Betriebssystem lange Dateinamen unterstützt.
FC verwendet standardmäßig bei Dateien mit den Dateinamen .EXE, .COM,
.SYS, .OBJ, .BIN, .DLL und .LIB den Binärmodus.
Im Binärmodus zeigt FC den Offset der abweichenden Bytes in der Datei,
ihren hexadezimalen Wert und, falls es sich um druckbare ASCII-Zeichen
handelt, deren ASCII-Zeichen an.
Standardmäßig stoppt der Binärvergleich nach 20 Differenzen, dieser
Wert kann jedoch mit dem Schalter /M geändert werden. /M0 bedeutet
"unbegrenzte Differenzen". /M wird als /M0 interpretiert.
Eine Designbeschränkung dieses Programms besteht darin, dass beim
Dateivergleich im Textmodus nur die ersten 32765 Zeilen verglichen
werden; die restlichen Zeilen werden ignoriert. Die Zeilenlänge ist
praktisch unbegrenzt.
FC unterstützt in den Dateispezifikationen Platzhalter. Einige Hinweise
dazu:
– Die Angabe eines Verzeichnisses entspricht der Angabe aller Dateien
in diesem Verzeichnis (z. B. "*.*"), siehe Beispiel 1 unten.
– Wenn kein Dateiname2 eingegeben wird, wird "." (das aktuelle Ver-
zeichnis) angenommen, siehe Beispiel 2 unten.
– Wenn Dateiname1 Platzhalter enthält, Dateiname2 jedoch nicht, werden
alle Dateien, die mit Dateiname1 übereinstimmen, mit derselben Datei
verglichen, siehe Beispiel 3 unten.
– Wenn Dateiname1 Platzhalter enthält und Dateiname2 ein Pfad gefolgt
von "*.*" ist, werden alle Dateien, die mit Dateiname1 überein-
stimmen, mit den Dateien verglichen, die denselben Namen haben, sich
aber im durch Dateiname2 angegebenen Pfad befinden (sofern diese
Datei existiert), siehe Beispiel 4 unten.
- Wenn Dateiname1 Platzhalter enthält und Dateiname2 ebenfalls, werden
alle Dateien im Pfad von Dateiname1 und die mit Dateiname1 überein-
stimmenden Dateien mit der entsprechenden Datei verglichen, die mit
Dateiname2 im durch Dateiname2 angegebenen Pfad übereinstimmt (sofern
diese Datei existiert). Siehe Beispiel 5 unten.
Es ist leichter getan als gesagt. Wenn Sie wirklich jede Datei in einem
Verzeichnis mit allen Dateien in einem anderen vergleichen möchten,
können Sie immer das folgende Format verwenden:
Beispiel 6: FC *.* MYDIR\????????.???
Die Option /S führt in beiden Pfaden dasselbe Suchmuster in den gleich-
namigen Unterverzeichnissen aus.
Beispiel 7: "FC /S C:*.TXT D:*.BAK"
Angenommen, es existieren beispielsweise die Unterverzeichnisse C:\BUCH
und D:\BUCH. Dieser Befehl vergleicht alle *.TXT-Dateien mit ihren
Sicherungskopien *.BAK in den aktuellen Verzeichnissen sowie alle
BOOK\*.TXT-Dateien mit ihren Sicherungskopien BOOK\*.BAK.
FC unterstützt NLS (National Language Support).
FC hat folgende Beendigungswerte ERRORLEVEL /EXITCODES:
0 Alle die Dateien sind identisch
1 Mindestens ein Dateienpaar differiert
2 Ungültiger Parameter in der Kommandozeile
3 Datei nicht gefunden
4 Fehler beim Datei(en) öffnen
Beispiel:
(Erläuterungen siehe oben)
Beispiel 1:
"FC C:\ A:" ist identisch mit "FC C:\*.* A:*.*"
Beispiel 2:
"FC C:\FOO.TXT" ist identisch mit "FC C:\FOO.TXT .\*.*"
Beispiel 3:
"FC FOO.BK? FOO.TXT"
Alle Dateien FOO.BK? werden mit FOO.TXT verglichen
Beispiel 4:
"FC *.* A:*.*" oder, kurz, "FC . A:"
Alle Dateien im aktuellen Verzeichnis werden mit ihrer Kopie auf A:
verglichen.
Beispiel 5:
"FC *.TXT OLDS\*.BAK"
Alle Dateien im aktuellen Verzeichnis werden mit ihrer umbenannten
Sicherungskopie (.BAK) im Unterverzeichnis OLDS verglichen.
Beispiel 6: (siehe oben)
FC *.* MYDIR\????????.???
Beispiel 7:
"FC /S C:*.TXT D:*.BAK"
Beispiel 8:
FC /L /M0 C:\ foo.txt D:\foo.txt
Siehe auch:
comp
diskcomp
doslfn
errorlevel / exitcode
md5sum
Copyright © 1999 Maurizio Spagni, Hilfeversion aktualisiert 2022
und 2025 von W. Spiegl.
Diese Datei ist abgeleitet vom FreeDOS Spezifikationen-HOWTO.
Vgl. auch die Datei H2Cpying bezüglich der Kopierbedingungen.