Hur man jämför filer med FC-kommandot i Windows

Senaste uppdateringen: 27/02/2026
Författare: Isaac
  • Med FC-kommandot kan du jämföra en eller flera filer i Windows i text-, Unicode- eller binärt läge, vilket korrekt indikerar deras skillnader.
  • Dina alternativ (/A, /B, /C, /L, /U, /W, /LBn, /nnnn, /N, /OFFLINE, /T) justerar hur avvikelser tolkas och visas.
  • FC returnerar avslutningskoder (0, 1 eller 2) som underlättar dess integration i skript och automatiseringar för att verifiera ändringar.
  • Den stöder sökvägar, enheter och jokertecken för att jämföra filbatchar och kan användas i både CMD och PowerShell genom att anropa fc.exe.

Jämföra filer med FC-kommandot i Windows

Om du arbetar med skript, rapporter, kod eller helt enkelt vill kontrollera om en fil har ändrats, kommandot Windows-konsol fc Det är en av de där diskreta men otroligt användbara resurserna som nästan ingen vet mycket om. Du behöver inte installera något eller använda externa program: den ingår i själva operativsystemet och är redo att användas från kommandotolken eller PowerShell – du kan se hur Jämför texter och filer i PowerShell eller CMD.

I följande rader kommer vi att se Hur man jämför filer med FC-kommandot i WindowsDen täcker de jämförelselägen som erbjuds (ASCII, Unicode och binär), betydelsen av varje parameter i den officiella Microsoft-syntaxen, hur man tolkar utdatakoder och flera praktiska exempel för vardagsbruk. Allt förklaras steg för steg på ett tydligt språk, utan att några viktiga tekniska detaljer utelämnas.

Vad är FC-kommandot och vad används det till?

Kommandot FC (Filjämförelse) Det är ett kommandoradsverktyg i Windows som används för att jämföra innehållet i två filer eller två uppsättningar filer och visa skillnaderna mellan dem. Det är kompatibelt med Windows 10, Windows 11, tidigare versioner och serverutgåvor. Windows Server 2019, 2022 och senare.

När du kör FC analyserar systemet båda filerna och berättar för dig Är de identiska, skiljer de sig åt, och på vilka sätt skiljer de sig åt?Beroende på vilket alternativ som valts kan det fungera på textnivå (rad för rad), Unicode-text eller på binär nivå (byte för byte), så det anpassar sig till både vanliga textfiler (Jämför filer i Anteckningar) såsom körbara filer, bilder eller andra binära format.

Dessutom låter FC dig förfina jämförelsetypen tack vare flera alternativ: du kan Ignorera stora och små bokstäver, ignorera mellanslag, visa radnummerDet låter dig begränsa antalet på varandra följande skillnader som den interna bufferten kan hantera, jämföra filer markerade som offline och mer. Det är mycket mer flexibelt än det först verkar.

Det är viktigt att notera att även om det kan anropas från PowerShell, i den här miljön fc är ett alias för cmdlet:en Format-CustomDärför, om du vill använda det klassiska filjämförelseverktyget, måste du uttryckligen skriva fc.exe istället för bara fc, för att säkerställa att rätt binärfil finns i C:\WINDOWS\fc.exe.

Använda FC-kommandot för att jämföra filer

Fullständig syntax för FC-kommandot

Den officiella syntaxen för kommandot, enligt Microsoft Windows-hjälpen, inkluderar två huvudsakliga användningslägen: textjämförelse (ASCII eller Unicode) y binär jämförelseDen allmänna formen är följande:

fc /a ] <archivo1> <archivo2>

fc /b <archivo1> <archivo2>

I praktiken innebär det att du kan lägg till en eller flera modifierare föregå filnamnen för att justera FC:s beteende. Parametrarna för sökväg och enhet är valfria, så ange helt enkelt filnamnet om det finns i den aktuella katalogen; annars måste du också ange sökvägen eller enheten.

Den klassiska hjälpen som visas när du kör fc /? I en spansk kommandotolk sammanfattas syntaxen enligt följande (formaterad för bättre förståelse):

FC ]
archivo1 archivo2
FC /B archivo1 archivo2

I alla dessa variationer, fil1 y fil2 Dessa representerar den första och andra filen (eller filmönstret) som ska jämföras. Jokertecken stöds också, vilket gör att hela grupper av filer kan jämföras i ett enda kommando.

FC-kommandosyntax i CMD

Betydelsen av varje parameter i FC-kommandot

Kommandots verkliga potential blir tydlig när man ser vad varje alternativ gör. Dessa beskrivs i detalj nedan. alla parametrar som känns igen av fc.exe som de visas i Microsofts dokumentation och i den inbyggda hjälpen.

Jämförelselägen

/A – Aktiverar ett förenklat utdataläge för ASCII-textjämförelser. Istället för att lista alla rader som skiljer sig mellan de två filerna visar FC bara den första och sista raden i varje grupp av skillnaderDet är väldigt användbart när det finns stora block av ändringar och du inte vill att konsolen ska fyllas med oändlig text.

  Vad är WDAC-manipulationsattacker och hur försvarar man sig?

/B – Tvinga en binär jämförelse av byte-för-byteI det här läget görs inget försök att omsynkronisera dataströmmen efter att en avvikelse har hittats; den fortsätter helt enkelt och visar varje upptäckt skillnad. Detta är standardläget för filer med typiskt binära filtillägg som .exe, .com, .sys, .obj, .lib eller .bin, även om du inte uttryckligen anger växeln /B.

/L – Instruera FC att utföra en ASCII-jämförelse rad för radförsöker alltid synkronisera om filerna efter att en skillnad upptäckts. Detta är standardläget för alla filer som inte betraktas som binära (dvs. de utan den körbara filen och liknande filtillägg som nämnts tidigare).

/U – Ändra beteendet hos fc för att behandla filer som Unicode-textfilerDet här alternativet säkerställer att den specifika kodningen (t.ex. UTF-16) respekteras och att tecken utöver grundläggande ASCII tolkas korrekt.

Kontroll över versaler, mellanslag och tabb

/C – Det gör att kommandot ignorerar skillnaderna mellan versaler och gemenerOm bara gemener och versaler ändras (till exempel "Hola" kontra "HOLA") kommer raderna att betraktas som likvärdiga och kommer inte att markeras som olika. Observera att detta gäller bokstäver, men inte andra tecken.

/W – Komprimera och minimera vikten av tomt utrymmeDet vill säga tabbar och mellanslag. När en rad har en lång sekvens av på varandra följande mellanslag eller tabbar, kommer FC att behandla dem som ett enda mellanslag. Dessutom, om du använder /W, ignorerar kommandot de första och sista utrymmena för varje rad under jämförelsen, vilket är utmärkt för skript eller texter där indentering är irrelevant.

/T – Inaktiverar automatisk konvertering av tabb till mellanslag. Som standard behandlar FC vanligtvis tabb som mellanslag med brytningar var åttonde tecken, men med /T Tabellerna respekteras som de ärDetta är användbart när exakt anpassning är en del av det meningsfulla innehållet.

Intern bufferthantering och synkronisering

/LB – Justera storleken på intern linjebuffert som FC använder vid jämförelse av textfiler. Som standard tillåter den här bufferten dig att hantera upp till 100 olika rader i följd. Om de två filerna du jämför har mer än 100 rader i följd utan matchningar, anser programmet att filerna har flyttats för långt ifrån varandra och avbryter jämförelsenMed den här parametern kan du höja eller sänka gränsen och ange ett specifikt antal rader istället för 100.

/ – Ange hur många på varandra följande rader måste matcha Efter en avvikelse anser FC att båda filerna har synkroniserats om. Standardvärdet är 2. Om den efter ett block med skillnader hittar färre än nnnn identiska rader i följd, kommer dessa rader fortfarande att visas som en del av skillnaderna, eftersom programmet antar att filerna förblir feljusterade.

Alternativ för offlinevisning och arkivering

/N – Det orsakar radnummer När du utför en ASCII-jämförelse ser du, bredvid innehållet, den faktiska radreferensen för varje fil, vilket är viktigt när du senare behöver redigera filen i fråga manuellt.

/AV – Som standard hoppar FC över filer som har attributet "offline" inställt. Det här alternativet talar om för programmet att Jämför även filer markerade som offlinevilket kan vara användbart i miljöer där data lagras på avlägsna platser eller i speciella filsystem.

Filspecifikation och snabb hjälp

Utöver alternativen ovan är det viktigt att förstå hur man anger filer på kommandoraden. Den del av syntaxen som består av fil1 y fil2 definierar första och andra filen som FC kommer att jämföra. Du kan använda fullständiga sökvägar, relativa sökvägar och, om det behövs, olika enhetsbeteckningar.

Kommandot stöder även jokertecken: * y ?Om du inkluderar en asterisk eller ett frågetecken i fil1, kommer FC att ta alla filer som matchar det mönstret och jämföra dem med filen eller mönstret som anges som fil2. Och om du använder jokertecknet i fil2, kommer verktyget att tillämpa motsvarande filnamn1 för att slutföra det återstående mönstret och fastställa de par som ska jämföras.

Slutligen, modifieraren /? Det är inte en del av jämförelserna som sådan, utan tjänar snarare till att visa kommandots inbyggda hjälp vid kommandotolken. Kör fc /? Det är det snabbaste sättet att granska syntaxen på din egen dator, alltid på språket i din Windows-installation.

  Reparation: Antimalware Service Exekverbar Överdriven RAM- och CPU-användning

Hur FC visar skillnader mellan filer

Utdataformatet som erbjuds av FC varierar något beroende på vad vi gör. Jämförelse av ASCII/Unicode-text eller binär jämförelseAtt förstå det här formatet hjälper dig att läsa resultaten snabbare och hitta den information du behöver.

I en vanlig ASCII-jämförelse visar FC vanligtvis det första kommandot efter att ha kört det. namnet på den första filen, följt av raderna från den filen som skiljer sig från den andra filen. Sedan visas första raden som sammanfaller igen i båda filerna, vilket fungerar som en omsynkroniseringspunkt. Sedan upprepas strukturen med den andra filen: dess namn, de olika raderna och den första efterföljande matchande raden.

När du aktiverar binärt läge med /BSaker och ting förändras dock: varje avvikelse presenteras med en syntax av denna typ: \<XXXXXXXX: YY ZZ>Värdet XXXXXXXX Det är en relativ hexadecimal adress (som börjar med 00000000) som anger positionen där det distinkta byteparet hittades. Bredvid den visas YY y ZZ, vilka är de hexadecimala värdena för de icke-matchande byte som tillhör fil1 respektive fil2.

Om den binära jämförelsen når slutet av en av filerna och den andra fortfarande innehåller data, kommer FC att indikera det. en av filerna är längre än den andraOm det dock inte upptäcks någon skillnad efter att ha analyserat allt innehåll, kommer ett meddelande som detta att visas på skärmen. FC: no differences encountered, eller dess lokaliserade motsvarighet, vilket gör det tydligt att båda filerna är identiska.

I ASCII-läge förlitar sig FC på sin intern buffert på 100 rader (såvida du inte modifierade det med /LBn) för att läsa och matcha blockvis. Om filerna är så olika att den inte kan hitta en matchning inom det blocket, kommer den att visa meddelandet "Omsynkronisering misslyckades. Filerna är för olika.", vilket indikerar att den inte har kunnat justera om de två textsekvenserna på ett rimligt sätt.

FC-kommandots avslutningskoder

Utöver texten du ser på skärmen, den körbara filen fc.exe returnerar en avslutningskod till operativsystemet när det är klart. Den här koden är extremt viktig när du använder FC i batchskript eller automatiseringar, eftersom den låter dig fatta beslut baserat på jämförelseresultatet utan att behöva analysera den returnerade texten manuellt.

Utgångskoden är mycket enkel och förblir konstant:

  • 0 – Filerna som jämförs är identiskIngen skillnad i innehåll hittades.
  • 1 – Filerna är olikaDet finns minst en skillnad mellan fil1 och fil2.
  • 2 – En fel under jämförelseDet kan vara relaterat till behörigheter, otillgängliga filer, läsproblem eller ogiltiga parametrar.

I en batchfil där du vill verifiera ändringar kan du använda dessa koder med kommandon som OM FELNIVÅ eller liknande konstruktioner, så att skriptet agerar på ett eller annat sätt beroende på om filerna matchar eller inte.

Praktiska exempel på FC-användning

När teorin väl är förstått är det mest användbara att se specifika kommandon som du kan utföra Dessa exempel används vid vardagliga filjämförelser i Windows. De är direkt baserade på den officiella dokumentationen och Windows-hjälpen.

Jämför två textfiler i ASCII-läge

Tänk dig att du har två rapporter, månadsvis.rpt y sales.rptOch du vill se hur de skiljer sig åt, men utan att överbelasta skärmen med linjer. Du kan använda:

fc /a monthly.rpt sales.rpt

Med alternativet /A visas endast FC den första och sista raden i varje differensblockvilket gör resultatet mycket mer läsbart när ändringarna är omfattande.

Jämför binära filer (t.ex. batchskript)

Om det du är intresserad av är att kontrollera förändringar på bytenivå i två batchfiler, låt oss säga vinster.bat y earnings.batAnvänd helst binärt läge:

fc /b profits.bat earnings.bat

Om det finns skillnader ser du något i stil med flera rader med olika hexadecimala adresser och bytepar. Om de två filerna däremot matchar 100 %, returnerar FC ett meddelande som anger att Inga skillnader hittades under jämförelsen.

Jämför alla .bat-filer med en referensfil

Ibland är det bra att jämföra flera filer samtidigt mot en ny version som fungerar som en mall. Om du till exempel vill jämföra varje .bat-fil i den aktuella katalogen med ny.fladdermusDu kan använda det här kommandot:

  Konfigurera och använda gästläge på Chromecast

fc *.bat new.bat

FC går igenom alla .bat-filer i den aktuella katalogen som matchar mönstret och jämför dem en efter en med den nya .bat-filen, vilket visar skillnaderna mellan varje par.

Jämför filer med samma namn på olika hårddiskar

En annan ganska typisk situation är att kontrollera om filerna på enhet C och enhet D matchar, till exempel när du validerar en säkerhetskopia. För att jämföra alla .bat-filer i rotkatalogen på C: med deras motsvarigheter på D: kan du skriva:

fc c:\*.bat d:\*.bat

I det här fallet kommer FC att jämföra varje batchfil i C: root med filen den har samma namn i roten av D:Om du bara vill jämföra en specifik fil behöver du helt enkelt ange namnet istället för jokertecknet *.bat.

Använda FC i Windows-konsolen och i PowerShell

Den klassiska Windows-kommandokonsolen, känd som CMDDet erbjuder en idealisk miljö för att dra nytta av FC-kommandot, men du kan också använda det från PowerShell med en liten skillnad. I CMD öppnar du helt enkelt ett fönster (till exempel genom att skriva cmd i Start-menyn) och kör kommandona exakt som visas i föregående exempel.

I PowerShell, som redan nämnts, fc är ett alias för cmdlet:en Format-CustomFör att undvika konflikter och säkerställa att du använder den klassiska Windows-filjämföraren måste du skriva fc.exe istället för helt enkelt fcFrån och med den tidpunkten förblir parametersyntaxen densamma som i CMD.

Många användare kombinerar FC med andra vanliga konsolkommandon, till exempel CD (för att byta mappar), DIR (för att lista innehållet i katalogen), TRÄD (för att visa undermappsträdet), FLYTTA o DÖPA OM (för att flytta eller byta namn på filer) och verktyg som HITTA för att söka efter textsträngar i en eller flera filer.

Det är fullt möjligt att integrera FC i mer komplexa skript som utför säkerhetskopior, synkroniserar kataloger eller verifierar konfigurationsfiler. har inte modifierats med avseende på en originalmall, med utnyttjande av både utgångskoderna och de specifika jämförelsealternativen.

Förenklade FC-användningsvarianter och ofta använda alternativ

I en del utbildningsmaterial eller klassanteckningar är det vanligt att hitta en förenklad version av syntaxen, där endast de mest använda alternativen framhävs. Till exempel är en mycket vanlig förkortning:

fc archivo1 archivo2

I denna representation tjänar /b till att indikera en binär jämförelseOm detta utelämnas antas jämförelsen vara av texttyp (ASCII som standard eller Unicode om /U anges). Fil1 och fil2 förblir namnen på de filer du vill jämföra.

Många sammanfattningar listar också följande som viktiga alternativ: /b för byte-för-byte-jämförelse, /l för rad-för-rad-jämförelse, /c för skiftlägesoberoende jämförelse och /s för jämförelse rekursivt underkatalogerDet bör förtydligas att alternativet /s inte är en del av den officiella FC-syntaxen i Windows (det hör vanligtvis till andra kommandon), men det citeras ibland i generiska filjämförelsescheman eller i anteckningar som blandar olika kommandon.

Använd i alla fall alltid den inbyggda hjälpen för fc /? och den officiella dokumentationen säkerställer att du har den korrekta listan med parametrar för din version av Windowsutan att blanda ihop alternativ från andra kommandon med de från FC.

Med tanke på all ovanstående information visar sig FC-kommandot vara ett förvånansvärt komplett verktyg för alla som behöver kontrollera ändringar mellan filer i Windows: det låter dig jämföra i text-, Unicode- eller binärläge, justera hur mellanslag, versaler och tabbar hanteras, hantera filer offline, kontrollera bufferten och omsynkroniseringen, tolka avslutningskoder i skript och arbeta med mönster och jokertecken för hela filgrupper, allt utan att behöva tillgripa externa applikationer och dra nytta av ett verktyg som är integrerat i själva operativsystemet.

Jämför två texter för att se skillnader i PowerShell eller CMD
Relaterad artikel:
Hur man jämför två textfiler i PowerShell eller CMD