Команда FC порівняння файлів з розширеним сервісом, СевНТУ - Севастопольський Національний
Команда FC вперше з'явилася у системі MS-DOS версії 2.0. Назва команди утворена першими літерами англійських слів File Comparison (порівняння файлів).
ПРИЗНАЧЕННЯ. FC надає набір сервісних засобів для верифікації – є можливість змінити алгоритм порівняння файлів та форму представлення результатів. У порівнянні з командою СОМР FC розпізнає більш складні (з точки зору машинного аналізу) відмінності файлів, пов'язані з розрахунками, викликаними відсутністю або наявністю додаткових символів в одному файлі. Так, наприклад, якщо в одному з порівнюваних файлів відсутній другий рядок, то СОМР кваліфікуватиме всі наступні рядки як розбіжності. FC ж у разі розпізнає лише одне розбіжність, безпосередньо викликане відсутністю другого рядка одному з файлів.
ОПИС. На відміну від команди СОМР, при введенні команди FC діалогова форма завдання параметрів не передбачена (це пов'язано з наявністю великої кількості ключів). Програма, що реалізує команду FC, розрізняє два типи файлів - двійкові та символьні. Якщо не задані ключі опису типу файлу, то за замовчуванням файли з розширенням .BIN, .COM, .SYS, .EXE, .OBJ та .LIB інтерпретуються як бінарні. Файли інших типів вважаються символьними. Для двійкового та символьного типів файлів реалізовано різні алгоритми порівняння. Принципова відмінність команд СОМР і FC - алгоритм порівняння символьних файлів. У той час як СОМР порівнює вміст відповідних байт обох файлів, що мають однакове зміщення щодо початку файлу, FC здійснює динамічне автосполучення рядків символьних файлів. При виявленні розбіжностей між символьними рядками програма перевіряє, чи воно не викликанесуміщення файлів. Для цього поточний рядок першого файлу послідовно порівнюється з усіма рядками другого файлу, що знаходяться в буфері оперативної пам'яті FC. Як поточний рядок другого файлу вибирається той, у порівнянні з яким кількість розбіжностей поточного рядка першого файлу була мінімальною. Розміщення вважається скомпенсованим, якщо кількість рядків з мінімумом розбіжностей, наступних поспіль, дорівнювала параметру, введеному за ключом /nnnn (за умовчанням ця кількість дорівнює двом).
Приклад 81. C:\gt;fc g3.k22 g3.k22 fc: no differences encountered.