FC Porównuje dwa
zbiory lub dwie grupy zbiorów
POSTAĆ: TYP:
ZEWNĘTRZNY
FC [/A][/C][/L][/Lb
n][/N][/T][/W][/nnn] zbiór1 zbiór2 -
tekstowo (znakowo)
FC [/B] zbiór1 zbiór2 - binarnie
ZNACZENIE: FC porównuje
pierwszy wyszczególniony zbiór
(zbiory) z
drugim,
wyświetlając raport o każdej
napotkanej różnicy
między nimi.
UWAGA: Porównywane
zbiory mogą być o różnych wielkościach.
Komenda COMP porównuje
zbiory o takich
samych
rozmiarach.
PARAMETRY:
nazwa_zbioru1 Pierwszy porównywany zbiór, lub grupa
zbiorów
nazwa_zbioru2 Drugi
porównywany zbiór, lub grupa zbiorów
/A Skraca raport o błędach przy
porównywaniu w trybie
i
końcowa każdej grupy napotkanych różnic.
/B Wymusza porównywanie binarne, pliki porównywane
są
bajt po
bajcie i różnice wyświetlane w
następującej
postaci:
xxxxxxxx: yy zz
(gdzie:
"xxxxxxxx" jest adresem
względnym pary
bajtów
licząc od początku pliku). Adresem począ-
tkowym
jest 00000000, a "yy" i "zz" są wartościami
bajtów
plików, odpowiednio:
"nazwa_ścieżki1" oraz
"nazwa_ścieżki2". Przełącznik /B przyjmowany jest
automatycznie w przypadku porównywania plików z
rozszerzeniem .EXE, .COM, .SYS, .OBJ, .LIB, .BIN
/C Powoduje jednakowe traktowanie liter
małych i du-
żych,
wszystkie traktowane są jako duże.
/L Wymusza porównywanie plików w trybie
ASCII, prze-
łącznik
przyjmowany jest automatycznie w przypadku
plików
nie posiadających rozszerzenia .EXE,
.COM,
.SYS, .OBJ, .LIB, .BIN
/Lb n Ustawia rozmiar wewnętrznego bufora na n linii.
Wartość
standardowa wynosi 100. Porównywanie
zos-
taje
przerwane w przypadku napotkania większej niż
n liczby
kolejnych różniących się linii.
/N Wyświetla numery linii przy porównywaniu
w trybie
ASCII.
/T Nie powoduje zmiany znaków tabulacji
na spacje.
Domyślnie znaki tabulacji
traktowane są jako
8
spacji.
/W Powoduje kompresję znaków niewidocznych
w tekście
(znaków
tabulacji i spacji). Wiele spacji występu-
jących
obok siebie traktowanych jest jako jedna.
Należy
zauważyć, że spacje nie są ignorowane
za
wyjątkiem występujących na
początku i na
końcu
linii.
/nnnn Określa liczbę linii, które muszą
być zgodne,
zanim
napotkane zostaną różnice między
plikami.
Jeżeli napotkana liczba
zgodnych linii będzie
mniejsza, nastąpi sygnalizacja błędu porównania.
Raport o błędach
porównania:
Raport o
błędach porównania ma
następującą postać: dla
pierwszego pliku
zostaną wyświetlone wszystkie linie, w
których
wystąpiły różnice,
następnie zgodne w obu plikach.
Analogiczne
informacje zostaną
wyświetlone dla drugiego pliku.
Standardowo
liczba linii, które muszą być zgodne, wynosi
2, lecz można to
zmienić przy
pomocy przełącznika /nnnn.
Ograniczenia
porównywania:
Podczas
porównywania zlecenie FC używa dużego obszaru pamięci
(wystarczającego
do przechowania 100 linii).
Jeżeli rozmiary
plików są większe
niż zakres dostępnej pamięci, porównywany jest
jedynie fragment
każdego pliku mieszczący
się w buforze.
Porównywanie takie
kończy się komunikatem:
resynch failed. Files are too different.
Dla
plików binarnych o rozmiarach większych niż zakres dostępnej
pamięci,
porównywane są kolejne ich fragmenty
mieszczące się w
pamięci i raport o
błędach ma postać opisaną powyżej.
PRZYKŁADY:
1. Pliki tekstowe
=================
Aby porównać
pliki tekstowe MONTHLY.RPT
i SALES.RPT, należy
napisać:
FC /A
MONTHLY.RPT SALES.RPT
2. Pliki binarne
================
Jeżeli należy
sprawdzić różnice występujące w plikach, które nie
są plikami
tekstowymi, można w tym celu użyć przełącznika /B.
Na przykład, aby
porównać pliki zawierające programy PROFITS.EXE
i EARNINGS.EXE
należy napisać:
FC /B PROFITS.EXE EARNINGS.EXE
Raport
o błędach może wyglądać tak, jak poniżej:
00000002: fc b6
00000004: 12 14
0000000e: 56 92
00000012: e8 5c
00000013: bb 7c
00000014: 14 0e
00000015: 0a 0d
0000001e: 43 7a
0000001f: 09 0a
00000022: be e6
000005e0: 00 61
000005e1: 00 73
000005e2: 00 73
000005e3: 00 69
000005e4: 00 67
000005e5: 00 6e
000005e6: 00 6d
000005e7: 00 65
000005e8: 00 6e
fc: earnings.exe longer than profits.exe
Jeżeli porównywane pliki okażą się
identyczne, na ekranie pojawi
się następujący
komunikat:
fc: no different encountered