- fc-kommandoen sammenligner filer i tekstmodus (ASCII/Unicode) eller binærmodus med alternativer for å ignorere store og små bokstaver, mellomrom og tabulatorer.
- Nøkkelparametere: /a (forkortet utdata), /b (binær), /w (komprimer mellomrom), /n (linjetall), /lb (buffer) og / (resynkronisering).
- Den støtter jokertegn og returnerer utgangskoder (0 lik, 1 forskjellig, 2 feil); alternativer inkluderer Windiff og Comp.
Hvis du jobber daglig med Windows og du er bekymret for å oppdage endringer mellom versjoner av dokumenter, skript eller binærfiler, kommandoen fc Det er et effektivt verktøy som sparer deg tid ved å nøyaktig vise hvor to filer er forskjellige. Dette innebygde verktøyet sammenligner innhold og fremhever avvik i både tekstmodus (ASCII/Unicode) og bytemodus (binær)..
Utover grunnleggende bruk tilbyr FC kraftige parametere for å skreddersy sammenligningen til dine behov: ignorer store og små bokstaver, komprimer mellomrom, tallinjer, administrere faner, arbeid med jokertegn o juster resynkronisering. Ved å mestre disse alternativene vil du kunne evaluere reelle forskjeller og unngå falske positiver på grunn av formatering eller avstand..
Hva er FC, og hvor er det tilgjengelig?
Målet med fc er direkte: sammenlign to filer eller sett med filer og vis forskjelleneDet er et verktøy i Windows-økosystemet som kommer som en tradisjonell kjørbar fil, og på mange datamaskiner ligger det i C:\WINDOWS\fc.exe. En PowerShell Det finnes et alias kalt fc som peker til Format-CustomDerfor, for å unngå konflikter i PowerShell, anbefales det å kjøre eksplisitt fc.exe når du vil sammenligne filer.
Ulike kilder indikerer at fc er tilgjengelig i Windows 12, 11, 10 og i serverutgaver som MS Server 2025, 2022 eller 2019. I tillegg finnes det implementeringer i andre miljøer som FreeDOS, med et utvidet sett med alternativer og noen av sine egne atferder som vi også vil diskutere nedenfor.
Syntaks for fc-kommandoen
Den kanoniske syntaksen i Windows dekker sammenligninger i tekst og binær. Du finner to hovedformer, ett for ASCII/Unicode-modus og ett for binærmodus:
fc /a ] <archivo1> <archivo2>
fc /b <archivo1> <archivo2>
Rent praktisk, fil1 y fil2 De er obligatoriske, med ruter hvis aktuelt, og derfra velger du alternativene som passer til sammenligningen din. For å se innebygd hjelp, bruk fc /? i konsollen kommandoer (CMD).
De mest nyttige parameterne og alternativene (Windows)
Settet med modifikatorer lar deg finjustere analysen. Dette er de mest relevante i den dokumenterte Windows FC:
- /a: forkortet utdata for tekstsammenligningerI stedet for å liste opp alle de forskjellige linjene, viser bare den første og siste linjen i hver differanseblokk.
- /bbinær modus, sammenligner byte for byte uten å synkronisere på nytt etter den første avviketDette er standardmodusen hvis filtypene er .exe, .com, .sys, .obj, .lib eller .bin.
- /c: ignorerer forskjeller i store og små bokstaver under tekstsammenligning.
- /lASCII-tekstmodus, sammenligner linje for linje og prøver å synkronisere på nytt etter et avvikDette er standardmodusen for tekstfiler.
- /lb: angir størrelsen på intern linjebuffer i antall linjer. Som standard er de 100 linjer; hvis det er mer enn 100 forskjellige påfølgende linjer, FC avbryter sammenligningen.
- /n: viser linjenumre under en ASCII-sammenligning.
- / av: inkluderer filer med attributtet «offline», som ellers er utelatt.
- /t: konverterer ikke tabulatorer til mellomromStandardoppførselen er å behandle tabulatorer som mellomrom med et stopp hver 8. kolonne.
- /u: sammenligner filer som Unicode-tekst.
- /w: komprimerer hvite mellomrom (tabulaturer og mellomrom) ved sammenligning. Med /w behandler fc lange sekvenser av mellomrom som en enkelt ignorerer mellomrom i begynnelsen og slutten av linjen.
- /: antall påfølgende linjer som må samsvare etter en forskjell for å anse at filene har blitt synkronisert igjen. standardverdien er 2.
- Ruter og navn (arkiv): angir plasseringen til filene som skal sammenlignes; begge navnene er obligatoriske.
- /?: vis hjelp på konsollen.
Når du foretar en sammenligning ASCII, fc formaterer utdataene med et bestemt mønster, slik at du med et raskt blikk kan forstå hva som har endret seg. Den typiske rekkefølgen er: første filnavn, distinkte linjer fra den første, første linje som samsvarer med begge, andre filnavn, distinkte linjer fra den andre, og første linje som samsvarer igjen..
I sammenligninger binærfiler, avvik vises med et annet adresse- og byteformat. Notasjonen du vil se følger skjemaet:
<XXXXXXXX: YY ZZ>
her, XXXXXXXX er den relative adressen i heksadesimal fra starten av filen, og YY/ZZ er de forskjellige heksadesimale verdiene i fil1 y fil2 henholdsvis. Adresser starter på 00000000 og går videre etter hvert som fc går gjennom bytene.
Jokertegn, buffere og spesielle meldinger
Fc innrømmer jokere (* y ?) i filnavn. Hvis du bruker et jokertegn i det første argumentet, vil sammenligne alle filer som samsvarer med mønsteret mot filen (eller settet) som er spesifisert i det andre argumentet. Hvis jokertegnet er i det andre argumentet, bruker fc det tilsvarende navnet fra det første argumentet på nytt..
For ASCII-sammenligninger bruker fc en intern buffer som kan holde 100 linjer som standard. Hvis filene overskrider dette området uten å kunne synkroniseres på nytt med samsvarende resultater, fc stopper og viser:
Resynch failed. Files are too different.
Når man sammenligner binære filer større enn det tilgjengelige minnet, fc feiler ikke: prosesser begge deler, og overlapper den neste delen i minnet og opprettholder samme utgang som om de passer helt.
Praktiske eksempler på bruk
Å sammenligne to tekstrapporter og se det forkortede resultatet er like enkelt som å kjøre: i ASCII-modus med differanseblokksammendrag:
fc /a monthly.rpt sales.rpt
Hvis du vil sammenlign to batchfiler i binærformat og se adressene der bytene er forskjellige, prøv:
fc /b profits.bat earnings.bat
Utdataene kan inneholde linjer som adresser og byte i heksadesimal, og hvis én er lengre, vil det vises en advarsel av typen. FC: earnings.bat lenger enn profits.bat. Hvis begge filene er identiske, vil fc indikere at det ikke er noen forskjeller. med en melding som ligner på:
Comparing files profits.bat and earnings.bat
FC: no differences encountered
Du kan også kryssreferer en fil med alle .bat-filer i gjeldende katalog:
fc *.bat new.bat
Eller sammenlign en fil med samme navn på en annen stasjon:
fc c:new.bat d:*.bat
Og for Finn navnematch mellom alle .bat-filer i roten av C: og de i D:
fc c:*.bat d:*.bat
Arbeide fra CMD trinn for trinn
Hvis du foretrekker en guidet tur, kan du åpne Kommandoprompt som administrator, flytt til arbeidsmappen og kjør sammenligningene. Ejemplo:
- Åpne CMD med utvidede tillatelser fra søkemotoren.
- Naviger til mappen som inneholder filene, for eksempel:
cd C:\Users\tuusuario\Downloads. - Sammenlign i normal modus (tekst):
fc archivo1.txt archivo2.txt. - Sammenlign i ASCII (linje for linje):
fc /L archivo1.txt archivo2.txt. - Se sammendragsblokker når bare den første linjen endres:
fc /a archivo1.txt archivo2.txt. - Sammenlign i Unicode der det er aktuelt:
fc /u archivo1.txt archivo2.txt. - Bruk jokertegn Slik sammenligner du mange TXT-filer med én fil:
fc *.txt archivo1.txt.
Husk det Hvis du kjører disse kommandoene i PowerShell, for å unngå aliaset til Format-Custom, bruk fc.exe eksplisitt (for eksempel, fc.exe /a ...). På denne måten sørger du for å aktivere filsammenligneren.
Viktige forskjeller: ASCII/Unicode vs. binær
I modus ASCII o Unicode, fc forstår konseptet med linje og tillater nummerere dem (/n), ignorer store og små bokstaver (/c), kompakte rom (/v) eller respektfaner (/t). Dette er ideelt for kode, rapporter, konfigurasjoner og alle tekstfiler..
modus binær (/b) behandler filen som en sekvens av byte. Synkroniserer ikke på nytt etter første avvik og er den ideelle måten å bekrefte at to kjørbare filer, biblioteker eller andre binærfiler er nøyaktig de samme. Hvis du trenger å validere byte-for-byte-integritet, er dette måten du kan gjøre det på..
I tillegg til å velge modus, kan du justere resynkronisering i tekstsammenligninger med / å kreve flere (eller mindre) like linjer etter en feiljustering før omjustering. Standardverdien er 2.
For sammenligning av støyende rom, bruk /w og du vil glemme forskjeller på grunn av tabulatorer eller ekstra mellomrom, mens /t Det hjelper deg når du vil at faner skal telle som ekte faner. Disse to alternativene utgjør en forskjell i filer med faner eller de med forskjellige innrykk..
Dumpingresultater og store filer
Når utdataene er store, kan det være upraktisk å lese dem i konsollen. Omdirigerer utdata til en fil å analysere det rolig eller se etter mønstre:
fc archivo1.txt archivo2.txt > diff.txt
Så du lagrer hele rapporten en diff.txt og du kan åpne den med favorittredigeringsprogrammet ditt, dele den eller lage en versjon av den. Dette trikset er spesielt nyttig med logger eller veldig lange lister.
Utgangskoder
Hvis du kaller fc fra skript eller automatiserte oppgaver, er du interessert i dets utgangskode. På vinduer, de vanligste tegnene er:
| Utgangskode | Betydning |
|---|---|
| 0 | Filene er identiske. |
| 1 | Filene er forskjellige. |
| 2 | Det oppsto en feil under sammenligningen. |
I varianten av FreeDOS andre er dokumentert FEILNIVÅ ytterligere relatert til ugyldige parametere eller feil ved åpning/søking av filer. Husk at semantikken kan variere mellom plattformer..
Integrerte alternativer og relaterte verktøy
I tillegg til fc har Windows flere verktøy som kan være svært nyttige avhengig av scenarioet. Windiff.exe gir et grafisk grensesnitt for å se tekstforskjeller og visuelt sammenligne mapper. I Windows 2000 og senere var den inkludert i Support\Tools på den originale CD-en. (kan installeres med Setup.exe), og også innenfor Support.cab av hver servicepakke. I Windows NT 4.0 ble den distribuert med ressurspakken..
Med Windiff kan du sammenligne to filer eller hele katalogtrær, vekslende mellom en konturmodus (statusoppsummering) og en utvidet modus (linje for linje-forskjeller). Resultatene er fargekodet., og fra menyen kan du bare fokusere på den venstre filen, den høyre filen eller begge deler. Den støtter også oppstart av kommandolinjen og har en hjelpefil (Windiff.hlp).
Et annet klassisk konsollverktøy er Comp.exe, gyldig for å sammenligne ASCII- og binære filer, selv mellom lageneEt typisk eksempel for kontraster DLL-er mellom maskiner ville:
comp C:\Winnt\System32\*.dll \\DifferentComputerName\C$\Winnt\System32\*.dll
Hvis du trenger å bekrefte at en den lokale filen og den eksterne filen er identiske og du kan ikke sammenligne dem direkte, er en historisk ressurs å bruke en ekstern kompressor som Pkzip.exe på begge sider med null kompresjon (pkzip -e0) og sjekk CRC32 med pkzip -v. Hvis CRC-ene samsvarer, er filene like.Tredjepartsprodukter som dette er produsentenes ansvar.
Spesielle egenskaper ved fc i FreeDOS
FC-versjonen i FreeDOS Det utvider utvalget av alternativer og presenterer flere nyanser. I tillegg til de klassiske bryterne (/A, /B, /C, /L, /N, /T, /U, /W), inkluderer andre som:
- /LBn: Angir maksimalt antall forskjellige påfølgende ASCII-linjer i n.
- /Mn: differansegrense i binær en n byte (standard 20, med /M0 (for ubegrenset bruk). /M uten tall er ekvivalent med /M0.
- /Q: viser ikke den detaljerte listen over forskjeller.
- /Rviser en kort sluttrapport (alltid aktiv med /S).
- /S: går ned i underkataloger for å utvide omfanget av sammenligningen.
- /X: skjuler kontekstlinjer i tekstsammenligning.
- /nnn: setter minimum antall påfølgende matchende linjer å synkronisere på nytt.
I FreeDOS, FC er klar over lange navn når systemet støtter dem, og i binærmodus viser forskyvninger, heksadesimale verdier og utskrivbare ASCII-tegn når det er aktuelt. Som standard stopper den binær sammenligning etter 20 forskjeller., med mindre du bruker /M0Det er en kjent begrensning: i tekstmodus er det bare første 32765 linjer og resten blir ignorert. Avslutningskoder inkluderer fullstendig treff, forskjeller oppdaget, ugyldige parametere, fil ikke funnet eller feil ved åpning..
Lidenskapelig forfatter om verden av bytes og teknologi generelt. Jeg elsker å dele kunnskapen min gjennom å skrive, og det er det jeg skal gjøre i denne bloggen, vise deg alle de mest interessante tingene om dingser, programvare, maskinvare, teknologiske trender og mer. Målet mitt er å hjelpe deg med å navigere i den digitale verden på en enkel og underholdende måte.

