Windows - Két fájl tartalmának összehasonlítása

Két fájl tartalmát bájtonként összehasonlíthatjuk a Windows 2000 beépített parancsaival. Nem is egy, hanem két utasítás is a rendelkezésünkre áll, mindkettő parancssorban érhető el. Az első neve: COMP.EXE. A %systemroot%\system32 könyvtárban található. Nyissunk meg egy parancssori ablakot a Start > Programok > Kellékek > Parancssor menüponttal.
Adjuk ki a következő utasítást:
COMP FÁJL1 FÁJL2
Ahol a fájl1 és fájl2 az összehasonlítandó fájlok neve, kiterjesztéssel együtt. A parancs lefutása után felajánlja további fájlok összehasonlításának a lehetőségét és átvált egy interaktív módba, ugyanide jutunk, ha nem paraméterezzük a parancsot:
COMP
A legfontosabbak amiket tudnunk kell a végrehajtáshoz, hogy a két fájl hosszának meg kell egyeznie és mindig ki kell írni a kiterjesztést, különben nem történik meg az összehasonlítás.

Nézzük meg milyen kapcsolókat használhatunk:
  • /D - A különbséget decimális formátumba írja ki. Ez az alapértelmezett beállítás.
  • /A - A különbséget ASCII formátumba írja ki. Szövegfájlok összehasonlításánál nyújthat segítséget.
  • /L - A különbségek sorszámait írja ki.
  • /N=x - A fájlok első "x" számú sorát hasonlítja össze, ezzel a kapcsolóval akkor is használható a parancs, ha különböző méretűek a fájlok.
  • /C - Úgy végzi el az összehasonlítást, hogy nem tesz különbséget a kis- és nagybetűk között.
Példák a használatra:
COMP D:\MUNKA\*.TXT D:\MENTES\*.TXT /A
Összehasonlítja a két alkönyvtár .TXT kiterjesztésű fájljait és kiírja a különbséget ASCII formátumba.
COMP D:\MUNKA\*.TXT D:\MENTES\*.TXT /N=4
Összehasonlítja a két alkönyvtár TXT kiterjesztésű fájljait, de csak az első 4 sorukat vizsgálva.
COMP DOC1.TXT DOC2.TXT /C
A két fájl összehasonlításánál a kis- és nagybetűket egyformaként értelmezve végzi az ellenőrzést.


A másik parancsunk neve: FC.EXE. Szintén a %systemroot%\system32 könyvtárban található. Különböző hosszúságú fájlok összehasonlítását is elvégezhetjük vele. Alkalmazása megköveteli a fájlkiterjesztések használatát. Nem tartalmaz interaktív kapcsolatot, mint a COMP.EXE, ezért batch fájlokban is jól használható.

Az alkalmazható kapcsolók:
  • /A - A különbségeknek csak az első és utolsó sorát jeleníti meg, nem az egészet. Növeli az áttekinthetőséget, ha sok helyen különböznek a fájlok.
  • /B - Bináris formátum szerint végzi az összehasonlítást, az eredményt hexadecimálisan írja ki.
  • /C - Úgy végzi el az összehasonlítást, hogy nem tesz különbséget a kis- és nagybetűk között.
  • /L - A különbséget ASCII formátumba írja ki.
  • /LBn - A még vizsgált eltérések maximális száma. "n" db eltérés után leáll az összehasonlítás, ez soronként értendő. Alapértelmezett értéke: 100.
  • /N - ASCII összehasonlítás végez és kiírja a különböző sorok sorszámát.
  • /T - Megjelenítésben nem alakítja át a tabulátor karaktereket szóközzé. Alapértelmezésben a tabulátort 8 db szóközzel helyettesíti.
  • /U - A fájlokat szövegfájloknak tekintve végzi az összehasonlítást.
  • /W - Megjelenítésben tömöríti a tabulátor és szóköz karaktereket a jobb láthatóság kedvéért. Ha több ilyen követi egymást, akkor is csak egy szóközt jelenít meg.
  • /n - Soronként vizsgálja a fájlokat és az "n" érték (ami egy szám) határozza meg, hogy egy eltérés esetén hány sornak kell megegyeznie, hogy ne minősüljenek különbözőnek.
Példák a használatra:

Két fájl összehasonlítása:
FC C:\TEMP1\DOK1.TXT C:\TEMP\DOK2.TXT
Két mappa tartalmának összehasonlítása:
FC C:\MUNKA\*.* X:\MENTES\*.*
A két mappának ugyanazokat a fájlokat kell tartalmaznia. A parancs lehetővé teszi, hogy a példához hasonlóan megtudjuk, hogy mely fájlokról szükséges biztonsági mentést készítenünk (ezek lesznek a különbözőek).

Két bináris fájl összehasonlítása:
FC FILE1.XYZ FILE2.XYZ /B