- FC-kommandoen giver dig mulighed for at sammenligne en eller flere filer i Windows i tekst-, Unicode- eller binær tilstand og præcist angive deres forskelle.
- Dine indstillinger (/A, /B, /C, /L, /U, /W, /LBn, /nnnn, /N, /OFFLINE, /T) justerer, hvordan uoverensstemmelser fortolkes og vises.
- FC returnerer exit-koder (0, 1 eller 2), der letter integrationen i scripts og automatiseringer for at verificere ændringer.
- Den understøtter stier, drev og jokertegn til sammenligning af filbatcher og kan bruges i både CMD og PowerShell ved at kalde fc.exe.
Hvis du arbejder med scripts, rapporter, kode eller blot vil kontrollere, om en fil er blevet ændret, er kommandoen Windows-konsol fc Det er en af de diskrete, men utroligt nyttige ressourcer, som næsten ingen kender meget til. Du behøver ikke at installere noget eller bruge eksterne programmer: den er inkluderet i selve operativsystemet og er klar til brug fra kommandoprompten eller PowerShell – du kan se hvordan Sammenlign tekster og filer i PowerShell eller CMD.
I de følgende linjer vil vi se Sådan sammenligner du filer ved hjælp af FC-kommandoen i WindowsDen dækker de tilbudte sammenligningsmetoder (ASCII, Unicode og binær), betydningen af hver parameter i den officielle Microsoft-syntaks, hvordan man fortolker outputkoder og adskillige praktiske eksempler til daglig brug. Alt forklares trin for trin i et klart sprog uden at udelade vigtige tekniske detaljer.
Hvad er FC-kommandoen, og hvad bruges den til?
Kommandoen FC (Filsammenligning) Det er et kommandolinjeværktøj i Windows, der bruges til at sammenligne indholdet af to filer eller to sæt filer og vise forskellene mellem dem. Det er kompatibelt med Windows 10, Windows 11, tidligere versioner og serverudgaver. Windows Server 2019, 2022 og senere.
Når du kører FC, analyserer systemet begge filer og fortæller dig Er de identiske, er de forskellige, og på hvilke måder er de forskellige?Afhængigt af den valgte mulighed kan den fungere på tekstniveau (linje for linje), Unicode-tekst eller binært niveau (byte for byte), så den tilpasser sig både almindelige tekstfiler (Sammenlign filer i Notesblok) såsom eksekverbare filer, billeder eller andre binære formater.
Derudover giver FC dig mulighed for at forfine sammenligningstypen takket være flere muligheder: du kan Ignorer store og små bogstaver, ignorer mellemrum, vis linjenumreDet giver dig mulighed for at begrænse antallet af sammenhængende forskelle, som den interne buffer kan håndtere, sammenligne filer markeret som offline og meget mere. Det er meget mere fleksibelt, end det først ser ud til.
Det er vigtigt at bemærke, at selvom det kan kaldes fra PowerShell, i dette miljø fc er et alias for Format-Custom cmdlet'enHvis du derfor vil bruge det klassiske filsammenligningsværktøj, skal du eksplicit skrive fc.exe i stedet for bare fc, for at sikre at den korrekte binære fil er placeret i C:\WINDOWS\fc.exe.
Den komplette syntaks for FC-kommandoen
Den officielle syntaks for kommandoen, ifølge Microsoft Windows-hjælp, inkluderer to hovedbrugsmåder: tekstsammenligning (ASCII eller Unicode) y binær sammenligningDen generelle formular er som følger:
fc /a ] <archivo1> <archivo2>
fc /b <archivo1> <archivo2>
I praksis betyder det, at du kan tilføj en eller flere modifikatorer Sæt stien eller drevet foran filnavnene for at justere FC'ens opførsel. Parametrene for sti og drev er valgfrie, så angiv blot filnavnet, hvis det er i den aktuelle mappe; ellers skal du også angive stien eller drevet.
Den klassiske hjælp, der vises under løb fc /? I en spansk kommandoprompt er syntaksen opsummeret som følger (formateret for bedre forståelse):
FC ]
archivo1 archivo2
FC /B archivo1 archivo2
I alle disse variationer, fil1 y fil2 Disse repræsenterer den første og anden fil (eller filmønstre), der skal sammenlignes. Jokertegn understøttes også, hvilket gør det muligt at sammenligne hele grupper af filer i en enkelt kommando.
Betydningen af hver parameter i FC-kommandoen
Kommandoens sande potentiale bliver tydeligt, når man ser, hvad hver indstilling gør. Disse er beskrevet detaljeret nedenfor. alle parametre genkendt af fc.exe som de vises i Microsoft-dokumentationen og i den indbyggede hjælp.
Sammenligningstilstande
/A – Aktiverer en forenklet outputtilstand til ASCII-tekstsammenligninger. I stedet for at liste alle de linjer, der adskiller sig mellem de to filer, viser FC kun den første og sidste linje i hver gruppe af forskelleDet er meget nyttigt, når der er store blokke af ændringer, og du ikke ønsker, at konsollen skal fyldes med uendelig tekst.
/B – Tving én byte-for-byte binær sammenligningI denne tilstand gøres der ikke forsøg på at resynkronisere datastrømmen, efter at en uoverensstemmelse er fundet; den fortsætter blot og viser hver detekteret forskel. Dette er standardtilstanden for filer med typisk binære filtypenavne såsom .exe, .com, .sys, .obj, .lib eller .bin, selvom du ikke eksplicit angiver parameteren /B.
/L – Instruer FC i at udføre en ASCII linje-for-linje sammenligningforsøger altid at resynkronisere filerne efter at have registreret en forskel. Dette er standardtilstanden for alle filer, der ikke betragtes som binære (dvs. dem uden den eksekverbare fil og lignende filtypenavne, der er nævnt tidligere).
/U – Ændre fc's opførsel til at behandle filer som Unicode-tekstfilerDenne indstilling sikrer, at den specifikke kodning (f.eks. UTF-16) respekteres, og at tegn ud over grundlæggende ASCII fortolkes korrekt.
Kontrol over store bogstaver, mellemrum og tabulatorer
/C – Det får kommandoen til at ignorere forskellene mellem store og små bogstaverHvis kun store og små bogstaver ændres (for eksempel "Hola" versus "HOLA"), vil linjerne blive betragtet som ækvivalente og vil ikke blive markeret som forskellige. Bemærk, at dette gælder for bogstaver, men ikke andre tegn.
/W – Komprimer og minimer vigtigheden af tom pladsDet vil sige tabulatorer og mellemrum. Når en linje har en lang rækkefølge af fortløbende mellemrum eller tabulatorer, vil FC behandle dem som et enkelt mellemrum. Derudover, hvis du bruger /W, ignorerer kommandoen de indledende og sidste mellemrum af hver linje under sammenligningen, hvilket er godt til scripts eller tekster, hvor indrykning er irrelevant.
/T – Deaktiverer den automatiske konvertering af tabulatorer til mellemrum. Som standard behandler FC normalt tabulatorer som mellemrum med skifter for hvert ottende tegn, men med /T Tabellerne respekteres som de erDette er nyttigt, når præcis justering er en del af det meningsfulde indhold.
Intern bufferstyring og synkronisering
/LB – Juster størrelsen på intern linjebuffer som FC bruger til sammenligning af tekstfiler. Som standard tillader denne buffer dig at håndtere op til 100 forskellige sammenhængende linjer. Hvis de to filer, du sammenligner, har mere end 100 sammenhængende linjer uden match, vurderer programmet, at filerne er flyttet for langt fra hinanden, og afbryder sammenligningenMed denne parameter kan du hæve eller sænke grænsen og angive et specifikt antal linjer i stedet for 100.
/ – Angiv hvor mange fortløbende linjer skal stemme overens Efter en uoverensstemmelse anser FC for at have resynkroniseret begge filer. Standardværdien er 2. Hvis den efter en blok af forskelle finder færre end nnnn identiske linjer i træk, vil disse linjer stadig blive vist som en del af forskellene, fordi programmet antager, at filerne forbliver forkert justerede.
Muligheder for offline visning og arkivering
/N – Det forårsager linjenumre Når du udfører en ASCII-sammenligning, vil du sammen med indholdet se den faktiske linjereference for hver fil, hvilket er vigtigt, når du senere manuelt skal redigere den pågældende fil.
/SLUKKET – Som standard springer FC filer over, der har attributten "offline" angivet. Denne indstilling fortæller programmet, at Sammenlign også filer markeret som offlinehvilket kan være nyttigt i miljøer, hvor data lagres på fjerntliggende steder eller i særlige filsystemer.
Filspecifikation og hurtig hjælp
Ud over ovenstående muligheder er det vigtigt at forstå, hvordan man angiver filer på kommandolinjen. Den del af syntaksen, der består af fil1 y fil2 definerer første og anden fil som FC vil sammenligne. Du kan bruge fulde stier, relative stier og, om nødvendigt, forskellige drevbogstaver.
Kommandoen understøtter også jokertegn: * y ?Hvis du inkluderer en stjerne eller et spørgsmålstegn i fil1, vil FC tage alle filer, der matcher det mønster, og sammenligne dem med den fil eller det mønster, der er angivet som fil2. Og hvis du bruger jokertegnet i fil2, vil værktøjet anvende tilsvarende filnavn1 for at fuldføre det resterende mønster og fastslå de par, der skal sammenlignes.
Endelig modifikatoren /? Det er ikke en del af sammenligningerne som sådan, men tjener snarere til at vis kommandoens indbyggede hjælp ved kommandoprompten. Kør fc /? Det er den hurtigste måde at gennemgå syntaksen på din egen computer, altid i sproget i din Windows-installation.
Hvordan FC viser forskelle mellem filer
Outputformatet, der tilbydes af FC, varierer en smule afhængigt af, hvad vi laver. ASCII/Unicode-tekstsammenligning eller binær sammenligningAt forstå dette format vil hjælpe dig med at læse resultaterne hurtigere og finde de oplysninger, du har brug for.
I en standard ASCII-sammenligning viser FC normalt den første kommando efter udførelse navnet på den første fil, efterfulgt af linjerne fra den fil, der er forskellige fra den anden fil. Derefter vises første linje, der falder sammen igen i begge filer, hvilket fungerer som et resynkroniseringspunkt. Derefter gentages strukturen med den anden fil: dens navn, de forskellige linjer og den første efterfølgende matchende linje.
Når du aktiverer binær tilstand med /BTingene ændrer sig dog: hver uoverensstemmelse præsenteres med en syntaks af denne type: \<XXXXXXXX: YY ZZ>Værdien XXXXXXXX Det er en relativ hexadecimal adresse (startende med 00000000), der angiver den position, hvor det distinkte bytepar blev fundet. Ved siden af vises YY y ZZ, som er de hexadecimale værdier af de ikke-matchende bytes, der tilhører henholdsvis fil1 og fil2.
Hvis den binære sammenligning når slutningen af en af filerne, og den anden stadig indeholder data, vil FC angive det. en af filerne er længere end den andenHvis der dog ikke registreres nogen forskel efter at have analyseret alt indholdet, vises en meddelelse som denne på skærmen. FC: no differences encounteredeller dens lokaliserede tilsvarende, hvilket gør det klart, at begge filer er identiske.
I ASCII-tilstand er FC afhængig af sin intern buffer på 100 linjer (medmindre du har ændret det med /LBn) til at læse og matche blokke for blokke. Hvis filerne er så forskellige, at den ikke kan finde et match i den blok, viser den meddelelsen "Gensynkronisering mislykkedes. Filerne er for forskellige.", hvilket indikerer, at den ikke har været i stand til at justere de to tekstsekvenser på en rimelig måde.
FC-kommandoens afslutningskoder
Ud over den tekst, du ser på skærmen, den eksekverbare fil fc.exe returnerer en exit-kode til operativsystemet, når det er færdigt. Denne kode er ekstremt vigtig, når du bruger FC i batchscripts eller automatiseringer, fordi den giver dig mulighed for at træffe beslutninger baseret på sammenligningsresultatet uden at skulle analysere den returnerede tekst manuelt.
Udgangskodetabellen er meget enkel og forbliver konstant:
- 0 – De filer, der sammenlignes, er identiskDer blev ikke fundet nogen forskel i indholdet.
- 1 – Filerne er anderledesDer er mindst én uoverensstemmelse mellem fil1 og fil2.
- 2 – En fejl under sammenligningDet kan være relateret til tilladelser, utilgængelige filer, læseproblemer eller ugyldige parametre.
I en batchfil, hvor du vil bekræfte ændringer, kan du bruge disse koder med kommandoer som HVIS FEJLNIVEAU eller lignende konstruktioner, således at scriptet fungerer på den ene eller anden måde afhængigt af om filerne matcher eller ej.
Praktiske eksempler på brug af FC
Når teorien er forstået, er det mest nyttige at se specifikke kommandoer, som du kan udføre Disse eksempler bruges i den daglige filsammenligning i Windows. De er baseret direkte på den officielle dokumentation og Windows-hjælp.
Sammenlign to tekstfiler i ASCII-tilstand
Forestil dig, at du har to rapporter, månedlig.rpt y salg.rptOg du vil gerne se, hvordan de adskiller sig, men uden at overbelaste din skærm med linjer. Du kan bruge:
fc /a monthly.rpt sales.rpt
Med /A-indstillingen vises FC kun den første og sidste linje i hver differensblokhvilket gør resultatet meget mere læsbart, når ændringerne er omfattende.
Sammenlign binære filer (f.eks. batchscripts)
Hvis det, du er interesseret i, er at kontrollere ændringer på byteniveau i to batchfiler, lad os sige profits.bat y indtjening.batBrug ideelt set binær tilstand:
fc /b profits.bat earnings.bat
Hvis der er forskelle, vil du se noget i retning af flere linjer med forskellige hexadecimale adresser og bytepar. Hvis de to filer derimod matcher 100%, returnerer FC en besked, der angiver, at Der blev ikke fundet nogen forskelle under sammenligningen.
Sammenlign alle .bat-filer med en referencefil
Nogle gange er det nyttigt at sammenligne flere filer på én gang med en ny version, der fungerer som skabelon. Hvis du f.eks. vil sammenligne hver .bat-fil i den aktuelle mappe med ny.batDu kan bruge denne kommando:
fc *.bat new.bat
FC vil gennemgå alle .bat-filerne i den aktuelle mappe, der matcher mønsteret, og sammenligne dem en efter en med den nye .bat-fil, hvilket viser dig forskellene mellem hvert par.
Sammenlign filer med samme navn på forskellige drev
En anden ret typisk situation er at kontrollere, om filerne på drev C og drev D matcher, for eksempel når du validerer en sikkerhedskopi. For at sammenligne alle .bat-filerne i rodmappen på C: med deres tilsvarende filer på D: kan du skrive:
fc c:\*.bat d:\*.bat
I dette tilfælde vil FC sammenligne hver batchfil i C: rodfilen med den fil, den har. samme navn i roden af D:Hvis du kun vil sammenligne en bestemt fil, skal du blot angive navnet i stedet for jokertegnet *.bat.
Brug af FC i Windows-konsollen og i PowerShell
Den klassiske Windows-kommandokonsol, kendt som CMDDet tilbyder et ideelt miljø til at udnytte FC-kommandoen, men du kan også bruge den fra PowerShell med en lille forskel. I CMD skal du blot åbne et vindue (for eksempel ved at skrive cmd i Start-menuen) og udfør kommandoerne nøjagtigt som vist i de foregående eksempler.
I PowerShell, som allerede nævnt, fc er et alias for Format-Custom cmdlet'enFor at undgå konflikter og sikre, at du bruger den klassiske Windows-filsammenligner, skal du skrive fc.exe i stedet for blot fcFra det tidspunkt forbliver parametersyntaksen den samme som i CMD.
Mange brugere kombinerer FC med andre almindelige konsolkommandoer, f.eks. CD (for at skifte mapper), DIR (for at liste indholdet af mappen), TREE (for at se undermappetræet), MOVE o OMDØB (til at flytte eller omdøbe filer) og værktøjer som f.eks. FIND at søge efter tekststrenge i en eller flere filer.
Det er fuldt ud muligt at integrere FC i mere komplekse scripts, der udfører sikkerhedskopier, synkroniserer mapper eller verificerer konfigurationsfiler. er ikke blevet ændret i forhold til en original skabelon, idet der drages fordel af både exit-koderne og de specifikke sammenligningsmuligheder.
Forenklede FC-brugsvarianter og ofte anvendte muligheder
I nogle træningsmaterialer eller klassenotater er det almindeligt at finde en forenklet version af syntaksen, der kun fremhæver de mest anvendte muligheder. For eksempel er en meget almindelig forkortelse:
fc archivo1 archivo2
I denne repræsentation tjener /b til at angive en binær sammenligningHvis den udelades, antages sammenligningen at være af teksttypen (ASCII som standard eller Unicode hvis /U er angivet). Fil1 og fil2 forbliver navnene på de filer, du vil sammenligne.
Mange resuméer angiver også følgende som nøglemuligheder: /b til byte-for-byte-sammenligning, /l til linje-for-linje-sammenligning, /c til sammenligning uden forskel på store og små bogstaver og /s til sammenligning rekursivt undermapperDet skal præciseres, at /s-indstillingen ikke er en del af den officielle FC-syntaks i Windows (den tilhører normalt andre kommandoer), men den citeres nogle gange i generiske filsammenligningsordninger eller i noter, der blander forskellige kommandoer.
Brug under alle omstændigheder altid den indbyggede hjælp til fc /? og den officielle dokumentation vil sikre, at du har den korrekte liste over parametre til din version af Windowsuden at forveksle muligheder fra andre kommandoer med dem fra FC.
I betragtning af alle ovenstående oplysninger viser FC-kommandoen sig som et overraskende komplet værktøj for alle, der har brug for at kontrollere ændringer mellem filer i Windows: den giver dig mulighed for at sammenligne i tekst, Unicode eller binær tilstand, justere håndteringen af mellemrum, store bogstaver og tabulatorer, administrere filer offline, kontrollere bufferen og gensynkroniseringen, fortolke exit-koder i scripts og arbejde med mønstre og jokertegn for hele filbatcher, alt sammen uden at ty til eksterne applikationer og udnytte et værktøj, der er integreret i selve operativsystemet.
Passioneret forfatter om bytes-verdenen og teknologien generelt. Jeg elsker at dele min viden gennem skrivning, og det er det, jeg vil gøre i denne blog, vise dig alle de mest interessante ting om gadgets, software, hardware, teknologiske trends og mere. Mit mål er at hjælpe dig med at navigere i den digitale verden på en enkel og underholdende måde.


