- Polecenie FC umożliwia porównanie jednego lub większej liczby plików w systemie Windows w trybie tekstowym, Unicode lub binarnym, dokładnie wskazując ich różnice.
- Opcje (/A, /B, /C, /L, /U, /W, /LBn, /nnnn, /N, /OFFLINE, /T) określają sposób interpretacji i wyświetlania rozbieżności.
- FC zwraca kody wyjścia (0, 1 lub 2), które ułatwiają integrację ze skryptami i automatyzacjami w celu weryfikacji zmian.
- Obsługuje ścieżki, dyski i symbole wieloznaczne służące do porównywania partii plików. Można go używać zarówno w CMD, jak i PowerShell, wywołując fc.exe.
Jeśli pracujesz ze skryptami, raportami, kodem lub po prostu chcesz sprawdzić, czy plik został zmodyfikowany, polecenie Konsola Windows fc To jedno z tych dyskretnych, ale niezwykle przydatnych narzędzi, o których prawie nikt nie wie. Nie trzeba niczego instalować ani korzystać z zewnętrznych programów: jest ono zawarte w samym systemie operacyjnym i gotowe do użycia z poziomu wiersza poleceń lub programu PowerShell – możesz zobaczyć, jak… Porównuj teksty i pliki w programie PowerShell lub CMD.
W kolejnych wierszach zobaczymy Jak porównywać pliki za pomocą polecenia FC w systemie WindowsObejmuje ona oferowane tryby porównania (ASCII, Unicode i binarny), znaczenie każdego parametru w oficjalnej składni Microsoftu, interpretację kodów wyjściowych oraz kilka praktycznych przykładów do codziennego użytku. Wszystko jest wyjaśnione krok po kroku, w przystępnym języku, bez pomijania istotnych szczegółów technicznych.
Czym jest polecenie FC i do czego służy?
Polecenie FC (Porównanie plików) To narzędzie wiersza poleceń systemu Windows, służące do porównywania zawartości dwóch plików lub dwóch zestawów plików i wyświetlania różnic między nimi. Jest zgodne z systemami Windows 10, Windows 11, starszymi wersjami oraz wersjami serwerowymi. Windows Server 2019, 2022 i nowsze.
Po uruchomieniu FC system analizuje oba pliki i informuje Cię Czy są identyczne, czy się różnią i pod jakimi względami?W zależności od wybranej opcji może działać na poziomie tekstu (wiersz po wierszu), tekstu Unicode lub na poziomie binarnym (bajt po bajcie), dzięki czemu dostosowuje się zarówno do plików zwykłego tekstu (Porównaj pliki w Notatniku) takie jak pliki wykonywalne, obrazy lub inne formaty binarne.
Ponadto FC pozwala na doprecyzowanie rodzaju porównania dzięki kilku opcjom: możesz Ignoruj wielkie i małe litery, ignoruj odstępy, wyświetlaj numery wierszyPozwala ograniczyć liczbę kolejnych różnic, jakie może obsłużyć bufor wewnętrzny, porównywać pliki oznaczone jako offline i wiele więcej. Jest o wiele bardziej elastyczny, niż mogłoby się wydawać na pierwszy rzut oka.
Należy zauważyć, że chociaż można go wywołać z poziomu programu PowerShell, w tym środowisku fc to alias polecenia cmdlet Format-CustomDlatego jeśli chcesz użyć klasycznego narzędzia do porównywania plików, musisz wyraźnie wpisać fc.exe zamiast tylko fc, aby upewnić się, że znajduje się tam poprawny plik binarny C:\WINDOWS\fc.exe.
Pełna składnia polecenia FC
Oficjalna składnia polecenia, zgodnie z pomocą systemu Microsoft Windows, obejmuje dwa główne tryby użycia: porównywanie tekstów (ASCII lub Unicode) y porównanie binarneOgólna forma jest następująca:
fc /a ] <archivo1> <archivo2>
fc /b <archivo1> <archivo2>
W praktyce oznacza to, że możesz dodaj jeden lub więcej modyfikatorów Poprzedź nazwy plików, aby dostosować działanie FC. Parametry ścieżki i dysku są opcjonalne, więc po prostu podaj nazwę pliku, jeśli znajduje się on w bieżącym katalogu; w przeciwnym razie musisz również określić ścieżkę lub dysk.
Klasyczna pomoc, która pojawia się podczas uruchamiania fc /? W wierszu poleceń w języku hiszpańskim składnia jest podsumowana następująco (sformatowana w celu lepszego zrozumienia):
FC ]
archivo1 archivo2
FC /B archivo1 archivo2
We wszystkich tych wariantach, plik1 y plik2 Reprezentują one pierwszy i drugi plik (lub wzorce plików) do porównania. Obsługiwane są również symbole wieloznaczne, co pozwala na porównywanie całych grup plików za pomocą jednego polecenia.
Znaczenie każdego parametru polecenia FC
Prawdziwy potencjał polecenia staje się jasny, gdy zobaczysz, co robi każda opcja. Zostały one szczegółowo opisane poniżej. wszystkie parametry rozpoznawane przez fc.exe tak jak są one podane w dokumentacji firmy Microsoft i wbudowanej pomocy.
Tryby porównania
/A – Włącza uproszczony tryb wyjściowy dla porównań tekstu ASCII. Zamiast listy wszystkich wierszy różniących się między dwoma plikami, FC pokazuje tylko pierwszy i ostatni wiersz każdej grupy różnicJest to bardzo przydatne, gdy mamy do czynienia z dużymi blokami zmian i nie chcemy, aby konsola wypełniła się niekończącym się tekstem.
/B – Wymuś jeden porównanie binarne bajt po bajcieW tym trybie po wykryciu rozbieżności nie jest podejmowana próba resynchronizacji strumienia danych; po prostu kontynuuje działanie i wyświetla każdą wykrytą różnicę. Jest to domyślny tryb dla plików z rozszerzeniami binarnymi, takimi jak .exe, .com, .sys, .obj, .lib lub .bin, nawet jeśli nie zostanie jawnie określony przełącznik /B.
/L – Poleć FC wykonanie Porównanie wiersz po wierszu kodu ASCIIZawsze próbuje resynchronizować pliki po wykryciu różnicy. Jest to domyślny tryb dla wszystkich plików, które nie są uznawane za binarne (tj. tych bez rozszerzenia wykonywalnego i podobnych, o których mowa wcześniej).
/U – Zmień zachowanie fc, aby traktować pliki jako Pliki tekstowe UnicodeOpcja ta zapewnia poszanowanie określonego kodowania (np. UTF-16) i prawidłową interpretację znaków wykraczających poza podstawowy kod ASCII.
Kontrola wielkości liter, spacji i tabulatorów
/C – Sprawia, że polecenie ignoruje różnice wielkie i małe literyJeśli zmieni się tylko wielkość liter (na przykład z „Hola” na „HOLA”), wiersze zostaną uznane za równoważne i nie zostaną oznaczone jako różne. Należy pamiętać, że dotyczy to liter, ale nie innych znaków.
/W – Skompresuj i zminimalizuj znaczenie puste miejsceTo znaczy tabulatory i spacje. Jeśli wiersz zawiera długi ciąg następujących po sobie spacji lub tabulatorów, FC potraktuje je jako pojedynczą spację. Dodatkowo, jeśli użyjesz /W, polecenie zignoruje przestrzenie początkowe i końcowe każdego wiersza podczas porównywania, co jest przydatne w przypadku skryptów lub tekstów, w których wcięcie nie ma znaczenia.
/T – Wyłącza automatyczną konwersję tabulatorów na spacje. Domyślnie FC zazwyczaj traktuje tabulatory jako spacje z przerwami co osiem znaków, ale z /T Tabele są przestrzegane w takiej formie, w jakiej sąJest to przydatne, gdy dokładne wyrównanie stanowi część treści merytorycznej.
Zarządzanie buforem wewnętrznym i synchronizacja
/LB – Dostosuj rozmiar wewnętrzny bufor liniowy którego FC używa podczas porównywania plików tekstowych. Domyślnie ten bufor pozwala na obsługę do 100 różnych, następujących po sobie wierszy. Jeśli dwa porównywane pliki zawierają ponad 100 kolejnych wierszy bez pasujących elementów, program uznaje, że pliki odsunęły się od siebie za bardzo i przerywa porównanieZa pomocą tego parametru można podnieść lub obniżyć limit, określając konkretną liczbę wierszy zamiast 100.
/ – Określ, ile kolejne wiersze muszą się zgadzać Po wykryciu rozbieżności program FC uznaje, że pomyślnie zsynchronizował oba pliki. Wartość domyślna to 2. Jeśli po bloku różnic znajdzie mniej niż nnnn kolejnych identycznych wierszy, wiersze te nadal będą wyświetlane jako część różnic, ponieważ program zakłada, że pliki nadal są rozbieżne.
Opcje przeglądania i archiwizacji w trybie offline
/N – To powoduje, że numery linii Podczas porównywania plików ASCII, obok zawartości, zobaczysz faktyczne odwołania do wierszy każdego pliku, co jest istotne, gdy później zajdzie potrzeba ręcznej edycji danego pliku.
/WYŁĄCZONY – Domyślnie FC pomija pliki z ustawionym atrybutem „offline”. Ta opcja informuje program, że Porównaj także pliki oznaczone jako offlineco może być przydatne w środowiskach, w których dane są przechowywane w zdalnych lokalizacjach lub specjalnych systemach plików.
Specyfikacja pliku i szybka pomoc
Oprócz powyższych opcji, ważne jest zrozumienie, jak określać pliki w wierszu poleceń. Część składni składająca się z plik1 y plik2 definiuje pierwszy i drugi plik który FC porówna. Możesz użyć pełnych ścieżek, ścieżek względnych, a w razie potrzeby różnych liter dysków.
Polecenie obsługuje również znaki wieloznaczne: * y ?Jeśli w pliku 1 umieścisz gwiazdkę lub znak zapytania, FC weźmie wszystkie pliki pasujące do tego wzorca i porówna je z plikiem lub wzorcem określonym jako plik 2. A jeśli użyjesz symbolu wieloznacznego w pliku 2, narzędzie zastosuje odpowiednik nazwy pliku 1 aby uzupełnić pozostały wzór i ustalić pary, które należy porównać.
Na koniec modyfikator /? Nie jest to część porównań jako takich, ale raczej służy pokaż wbudowaną pomoc polecenia w wierszu poleceń. Uruchom fc /? To najszybszy sposób na zapoznanie się ze składnią na własnym komputerze, zawsze w języku instalacji systemu Windows.
Jak FC wyświetla różnice między plikami
Format wyjściowy oferowany przez FC różni się nieznacznie w zależności od tego, co robimy. Porównanie tekstu ASCII/Unicode lub porównanie binarneZrozumienie tego formatu pomoże Ci szybciej odczytać wyniki i znaleźć potrzebne informacje.
W standardowym porównaniu ASCII po wykonaniu polecenia FC zwykle wyświetla pierwszy nazwa pierwszego pliku, a następnie wiersze z tego pliku, które różnią się od wiersza z drugiego pliku. Następnie pojawia się pierwsza linia, która się ponownie pokrywa w obu plikach, co stanowi punkt resynchronizacji. Następnie struktura jest powtarzana w drugim pliku: jego nazwa, różne wiersze i pierwszy kolejny pasujący wiersz.
Po aktywacji trybu binarnego za pomocą /BJednakże sytuacja się zmienia: każda rozbieżność jest prezentowana za pomocą składni tego typu: \<XXXXXXXX: YY ZZ>. Wartość XXXXXXXX Jest to względny adres szesnastkowy (rozpoczynający się od 00000000), który wskazuje pozycję, na której znaleziono odrębną parę bajtów. Obok niego znajdują się YY y ZZ, które są wartościami szesnastkowymi niepasujących bajtów należących odpowiednio do pliku1 i pliku2.
Jeżeli porównanie binarne dotrze do końca jednego z plików, a drugi nadal zawiera dane, FC wskaże, że jeden z plików jest dłuższy od drugiegoJeśli jednak po przeanalizowaniu całej zawartości nie zostanie wykryta żadna różnica, na ekranie pojawi się komunikat taki jak ten FC: no differences encounteredlub jego lokalny odpowiednik, dzięki czemu będzie jasne, że oba pliki są identyczne.
W trybie ASCII FC opiera się na swoim bufor wewnętrzny 100 linii (chyba że zmodyfikowano go za pomocą /LBn), aby odczytać i dopasować bloki. Jeśli pliki różnią się tak bardzo, że nie można znaleźć dopasowania w obrębie danego bloku, wyświetli się komunikat „Resynchronizacja nie powiodła się. Pliki różnią się za bardzo.”, co oznacza, że nie udało się w sensowny sposób wyrównać dwóch sekwencji tekstu.
Kody wyjścia poleceń FC
Poza tekstem widocznym na ekranie znajduje się plik wykonywalny fc.exe zwraca kod wyjścia do systemu operacyjnego po zakończeniu. Ten kod jest niezwykle ważny podczas korzystania z algorytmu konwersji (FC) w skryptach wsadowych lub automatyzacjach, ponieważ pozwala podejmować decyzje na podstawie wyniku porównania bez konieczności ręcznej analizy zwróconego tekstu.
Tabela kodów wyjścia jest bardzo prosta i pozostaje stała:
- 0 – Porównywane są pliki identycznyNie stwierdzono różnic w treści.
- 1 – Pliki są innyIstnieje co najmniej jedna rozbieżność między plikiem 1 i plikiem 2.
- 2 - A błąd podczas porównaniaMoże to być związane z uprawnieniami, niedostępnymi plikami, problemami z odczytem lub nieprawidłowymi parametrami.
W pliku wsadowym, w którym chcesz zweryfikować zmiany, możesz użyć tych kodów z poleceniami takimi jak JEŚLI POZIOM BŁĘDU lub podobnych konstrukcji, dzięki czemu skrypt będzie działał w taki czy inny sposób w zależności od tego, czy pliki pasują do siebie, czy nie.
Praktyczne przykłady wykorzystania FC
Gdy teoria zostanie zrozumiana, najbardziej przydatne będzie zapoznanie się z nią. konkretne polecenia, które możesz wykonać Poniższe przykłady służą do codziennego porównywania plików w systemie Windows. Opierają się one bezpośrednio na oficjalnej dokumentacji i pomocy systemu Windows.
Porównaj dwa pliki tekstowe w trybie ASCII
Wyobraź sobie, że masz dwa raporty, miesięczny.rpt y sprzedaż.rptChcesz zobaczyć, czym się różnią, ale bez przytłaczania ekranu liniami. Możesz użyć:
fc /a monthly.rpt sales.rpt
Z opcją /A FC wyświetli tylko pierwszy i ostatni wiersz każdego bloku różnicowegoco sprawia, że wynik jest o wiele bardziej czytelny, kiedy zmiany są rozległe.
Porównaj pliki binarne (np. skrypty wsadowe)
Jeśli interesuje Cię sprawdzenie zmian na poziomie bajtów w dwóch plikach wsadowych, powiedzmy zyski.bat y zarobki.batNajlepiej jest użyć trybu binarnego:
fc /b profits.bat earnings.bat
Jeśli występują różnice, zobaczysz coś w rodzaju kilku wierszy z różnymi adresami szesnastkowymi i parami bajtów. Jeśli natomiast oba pliki są w 100% zgodne, FC zwróci komunikat informujący, że Nie stwierdzono różnic podczas porównania.
Porównaj wszystkie pliki .bat z plikiem referencyjnym
Czasami przydatne jest porównanie kilku plików jednocześnie z nową wersją, która służy jako szablon. Na przykład, jeśli chcesz porównać każdy plik .bat w bieżącym katalogu z… nowy.batMożesz użyć tego polecenia:
fc *.bat new.bat
FC przejrzy wszystkie pliki .bat w bieżącym katalogu, które odpowiadają wzorcowi, i porówna je jeden po drugim z nowym plikiem .bat, pokazując różnice między każdą parą.
Porównaj pliki o tej samej nazwie na różnych dyskach
Inną dość typową sytuacją jest sprawdzanie, czy pliki na dysku C i D są zgodne, na przykład podczas walidacji kopii zapasowej. Aby porównać wszystkie pliki .bat w katalogu głównym dysku C: z ich odpowiednikami na dysku D:, możesz wpisać:
fc c:\*.bat d:\*.bat
W tym przypadku FC porówna każdy plik wsadowy w katalogu głównym C: z plikiem, który posiada ta sama nazwa w korzeniu D:Jeśli chcesz porównać tylko konkretny plik, wystarczy, że podasz jego nazwę zamiast symbolu wieloznacznego *.bat.
Korzystanie z FC w konsoli Windows i w programie PowerShell
Klasyczna konsola poleceń systemu Windows, znana jako CMDOferuje idealne środowisko do korzystania z polecenia FC, ale można go również używać z poziomu programu PowerShell, z niewielką różnicą. W CMD wystarczy otworzyć okno (na przykład wpisując cmd w menu Start) i wykonaj polecenia dokładnie tak, jak pokazano w poprzednich przykładach.
W programie PowerShell, jak już wspomniano, fc to alias polecenia cmdlet Format-CustomAby uniknąć konfliktów i mieć pewność, że używasz klasycznego porównywacza plików systemu Windows, musisz wpisać fc.exe zamiast po prostu fcOd tego momentu składnia parametrów pozostaje taka sama jak w CMD.
Wielu użytkowników łączy FC z innymi popularnymi poleceniami konsoli, takimi jak: CD (aby zmienić foldery), DIR (aby wyświetlić zawartość katalogu), TREE (aby zobaczyć drzewo podfolderów), MOVE o PRZEMIANOWAĆ (do przenoszenia lub zmiany nazw plików) i narzędzia takie jak Użytkownicy aby wyszukać ciągi tekstowe w jednym lub większej liczbie plików.
Całkowicie wykonalne jest zintegrowanie FC ze złożonymi skryptami, które wykonują kopie zapasowe, synchronizują katalogi lub weryfikują pliki konfiguracyjne nie zostały zmodyfikowane w odniesieniu do oryginalnego szablonu, korzystając zarówno z kodów wyjścia, jak i określonych opcji porównania.
Uproszczone warianty wykorzystania FC i często używane opcje
W niektórych materiałach szkoleniowych lub notatkach z zajęć często można znaleźć uproszczoną wersję składni, wyróżniającą tylko najczęściej używane opcje. Na przykład, bardzo popularnym skrótem jest:
fc archivo1 archivo2
W tej reprezentacji /b służy do wskazania porównanie binarneJeśli pominięto tę opcję, przyjmuje się, że porównanie jest typu tekstowego (domyślnie ASCII lub Unicode, jeśli określono /U). Plik1 i plik2 pozostają nazwami plików, które chcesz porównać.
Wiele podsumowań wymienia również następujące kluczowe opcje: /b do porównywania bajt po bajcie, /l do porównywania wiersz po wierszu, /c do porównywania bez uwzględniania wielkości liter i /s do porównywania rekurencyjnie podkatalogiNależy wyjaśnić, że opcja /s nie jest częścią oficjalnej składni FC w systemie Windows (zwykle należy do innych poleceń), ale jest czasami cytowana w ogólnych schematach porównywania plików lub w notatkach łączących różne polecenia.
W każdym razie zawsze korzystaj z wbudowanej pomocy fc /? a oficjalna dokumentacja zapewni, że masz poprawna lista parametrów dla Twojej wersji systemu Windowsbez mylenia opcji z innych poleceń z opcjami FC.
Biorąc pod uwagę wszystkie powyższe informacje, polecenie FC okazuje się zaskakująco kompletnym narzędziem dla każdego, kto musi sprawdzać zmiany w plikach w systemie Windows: umożliwia porównywanie plików w trybie tekstowym, Unicode lub binarnym, dostosowywanie obsługi spacji, wielkich liter i tabulatorów, zarządzanie plikami w trybie offline, sterowanie buforem i resynchronizacją, interpretowanie kodów wyjścia w skryptach i pracę ze wzorcami i symbolami wieloznacznymi dla całych partii plików – wszystko to bez uciekania się do zewnętrznych aplikacji, a korzystając z narzędzia zintegrowanego z samym systemem operacyjnym.
Pisarz z pasją zajmujący się światem bajtów i technologii w ogóle. Uwielbiam dzielić się swoją wiedzą poprzez pisanie i właśnie to będę robić na tym blogu, pokazywać Ci wszystkie najciekawsze rzeczy o gadżetach, oprogramowaniu, sprzęcie, trendach technologicznych i nie tylko. Moim celem jest pomóc Ci poruszać się po cyfrowym świecie w prosty i zabawny sposób.


