Kaip palyginti failus naudojant FC komandą sistemoje „Windows“

Paskutiniai pakeitimai: 27/02/2026
Autorius: Izaokas
  • FC komanda leidžia palyginti vieną ar kelis failus sistemoje „Windows“ teksto, Unicode arba dvejetainiu režimu, tiksliai nurodant jų skirtumus.
  • Jūsų parinktys (/A, /B, /C, /L, /U, /W, /LBn, /nnnn, /N, /OFFLINE, /T) reguliuoja, kaip neatitikimai interpretuojami ir rodomi.
  • FC grąžina išėjimo kodus (0, 1 arba 2), kurie palengvina jo integravimą į scenarijus ir automatizavimą, siekiant patikrinti pakeitimus.
  • Jis palaiko kelius, diskus ir pakaitos simbolius failų partijoms palyginti ir gali būti naudojamas tiek CMD, tiek „PowerShell“, iškviečiant fc.exe.

Failų palyginimas naudojant FC komandą sistemoje „Windows“

Jei dirbate su scenarijais, ataskaitomis, kodu arba tiesiog norite patikrinti, ar failas buvo modifikuotas, komanda „Windows“ konsolės fc Tai vienas iš tų diskretiškų, bet neįtikėtinai naudingų išteklių, apie kuriuos beveik niekas daug nežino. Jums nereikia nieko diegti ar naudoti išorinių programų: jis yra įtrauktas į pačią operacinę sistemą ir yra paruoštas naudoti iš komandinės eilutės arba „PowerShell“ – galite pamatyti, kaip... Palyginkite tekstus ir failus „PowerShell“ arba „CMD“.

Kitose eilutėse mes pamatysime Kaip palyginti failus naudojant FC komandą sistemoje „Windows“Jame aptariami siūlomi palyginimo režimai (ASCII, Unicode ir dvejetainis), kiekvieno parametro reikšmė oficialioje „Microsoft“ sintaksėje, išvesties kodų interpretavimas ir pateikiami keli praktiniai pavyzdžiai kasdieniam naudojimui. Viskas paaiškinama žingsnis po žingsnio aiškia kalba, nepraleidžiant jokių svarbių techninių detalių.

Kas yra FC komanda ir kam ji naudojama?

Įsakymas FC (failų palyginimas) Tai „Windows“ komandinės eilutės įrankis, naudojamas dviejų failų arba dviejų failų rinkinių turiniui palyginti ir jų skirtumams rodyti. Jis suderinamas su „Windows 10“, „Windows 11“, ankstesnėmis versijomis ir serverio leidimais. „Windows Server 2019“, 2022 ir naujesnės versijos.

Paleidus FC, sistema analizuoja abu failus ir jums praneša Ar jie identiški, ar jie skiriasi ir kuo jie skiriasi?Priklausomai nuo pasirinktos parinkties, jis gali veikti teksto lygmeniu (eilutė po eilutės), Unicode tekstu arba dvejetainiu lygmeniu (baitas po baito), todėl prisitaiko prie tiek paprastų tekstinių failų (Palyginkite failus programoje „Notepad“) pvz., vykdomuosius failus, vaizdus ar kitus dvejetainius formatus.

Be to, FC leidžia patikslinti palyginimo tipą dėl kelių parinkčių: galite Ignoruoti didžiąsias ir mažąsias raides, ignoruoti tarpus, rodyti eilučių numeriusTai leidžia apriboti iš eilės einančių skirtumų, kuriuos gali apdoroti vidinis buferis, skaičių, palyginti failus, pažymėtus kaip neprisijungus pasiekiamus, ir atlikti kitus veiksmus. Tai daug lankstiau, nei iš pradžių atrodo.

Svarbu pažymėti, kad nors šioje aplinkoje jį galima iškviesti iš „PowerShell“ fc yra „Format-Custom“ cmdlet slapyvardis.Todėl, jei norite naudoti klasikinį failų palyginimo įrankį, turite aiškiai įvesti fc.exe vietoj tiesiog fc, siekiant užtikrinti teisingą dvejetainį failą, esantį C:\WINDOWS\fc.exe.

Failų palyginimas naudojant FC komandą

Pilna FC komandos sintaksė

Oficiali komandos sintaksė, remiantis „Microsoft Windows“ pagalba, apima du pagrindinius naudojimo būdus: teksto palyginimas (ASCII arba Unicode) y dvejetainis palyginimasBendra forma yra tokia:

fc /a ] <archivo1> <archivo2>

fc /b <archivo1> <archivo2>

Praktiškai tai reiškia, kad galite pridėti vieną ar daugiau modifikatorių prieš failų pavadinimus įrašykite , kad pakoreguotumėte FC elgseną. Kelio ir disko parametrai yra neprivalomi, todėl tiesiog nurodykite failo pavadinimą, jei jis yra dabartiniame kataloge; priešingu atveju turėsite nurodyti ir kelią arba diską.

Klasikinė pagalba, kuri pasirodo bėgant fc /? Ispanų kalbos komandų eilutėje sintaksė apibendrinta taip (suformatuota, kad būtų lengviau suprasti):

FC ]
archivo1 archivo2
FC /B archivo1 archivo2

Visose šiose variacijose, failas1 y failas2 Jie žymi pirmąjį ir antrąjį failus (arba failų šablonus), kuriuos reikia palyginti. Taip pat palaikomi pakaitos simboliai, leidžiantys palyginti ištisas failų grupes viena komanda.

FC komandos sintaksė CMD

Kiekvieno FC komandos parametro reikšmė

Tikrasis komandos potencialas tampa aiškus, kai pamatysite, ką daro kiekviena parinktis. Jos išsamiai aprašytos toliau. visus fc.exe atpažįstamus parametrus kaip jie pateikiami „Microsoft“ dokumentacijoje ir integruotame žinyne.

Palyginimo režimai

/A – Įgalina supaprastintą ASCII teksto palyginimų išvesties režimą. Užuot išvardijęs visas eilutes, kurios skiriasi tarp dviejų failų, FC rodo tik kiekvienos skirtumų grupės pirmoji ir paskutinė eilutėTai labai naudinga, kai yra dideli pakeitimų blokai ir nenorite, kad konsolė užsipildytų begaliniu tekstu.

  Kas yra WDAC manipuliavimo atakos ir kaip apsiginti?

/B – Priversk vieną baitas po baito dvejetainis palyginimasŠiuo režimu nebandoma iš naujo sinchronizuoti duomenų srauto, kai aptinkamas neatitikimas; tiesiog tęsiama ir rodomas kiekvienas aptiktas skirtumas. Tai numatytasis režimas failams, kurių plėtiniai paprastai yra dvejetainiai, pvz., .exe, .com, .sys, .obj, .lib arba .bin, net jei aiškiai nenurodote /B jungiklio.

/L – Nurodyti FC atlikti ASCII eilučių palyginimasvisada bando iš naujo sinchronizuoti failus aptikus skirtumą. Tai yra numatytasis režimas visiems failams, kurie nelaikomi dvejetainiais (t. y. tiems, kurie neturi anksčiau minėtų vykdomųjų ir panašių plėtinių).

/U – Pakeiskite „fc“ elgseną, kad failai būtų traktuojami kaip Unikodo teksto failaiŠi parinktis užtikrina, kad būtų laikomasi konkretaus kodavimo (pvz., UTF-16) ir kad simboliai, ne tik pagrindinis ASCII, būtų interpretuojami teisingai.

Didžiųjų raidžių, tarpų ir tabuliacijos valdymas

/C – Tai priverčia komandą ignoruoti skirtumus didžiosios ir mažosios raidėsJei pasikeičia tik didžiosios ir mažosios raidės (pavyzdžiui, „Hola“ ar „HOLA“), eilutės bus laikomos lygiavertėmis ir nebus pažymėtos kaip skirtingos. Atminkite, kad tai taikoma raidėms, bet ne kitiems simboliams.

/W – Sumažinti ir sumažinti svarbą balta erdvėTai yra, tabuliacijos simboliai ir tarpai. Kai eilutėje yra ilga iš eilės einančių tarpų arba tabuliacijos simbolių seka, FC juos laikys vienu tarpu. Be to, jei naudosite /W, komanda ignoruos pradinės ir galutinės erdvės kiekvienos eilutės palyginimo metu, o tai puikiai tinka scenarijams ar tekstams, kuriuose įtrauka nėra svarbi.

/T – Išjungia automatinį tabuliacijos simbolių konvertavimą į tarpus. Pagal numatytuosius nustatymus FC paprastai tabuliacijos simbolius traktuoja kaip tarpus su pertraukomis kas aštuonis simbolius, bet su /T Lentelių laikomasi tokių, kokios yraTai naudinga, kai tikslus lygiavimas yra prasmingo turinio dalis.

Vidinio buferio valdymas ir sinchronizavimas

/LB – Koreguokite dydį vidinis linijos buferis kurį FC naudoja lygindama tekstinius failus. Pagal numatytuosius nustatymus šis buferis leidžia apdoroti iki 100 skirtingų iš eilės einančių eilučių. Jei dviejuose lyginamuose failuose yra daugiau nei 100 iš eilės einančių eilučių be atitikmenų, programa mano, kad failai per daug nutolę vienas nuo kito ir nutraukia palyginimąŠiuo parametru galite padidinti arba sumažinti tą ribą, nurodydami konkretų eilučių skaičių, o ne 100.

/ – Nurodykite, kiek iš eilės einančios eilutės turi sutapti Aptikus neatitikimą, FC mano, kad sėkmingai iš naujo sinchronizavo abu failus. Numatytoji reikšmė yra 2. Jei po skirtumų bloko randama mažiau nei nnnn iš eilės einančių identiškų eilučių, tos eilutės vis tiek bus rodomos kaip skirtumų dalis, nes programa daro prielaidą, kad failai lieka nesuderinti.

Peržiūros neprisijungus ir archyvavimo parinktys

/N – Tai sukelia eilutės numeriai Atliekant ASCII palyginimą, šalia turinio matysite kiekvieno failo eilutės nuorodą, kuri yra labai svarbi, kai vėliau reikės rankiniu būdu redaguoti atitinkamą failą.

/IŠJUNGTA – Pagal numatytuosius nustatymus FC praleidžia failus, kuriems nustatytas atributas „offline“. Ši parinktis nurodo programai, kad Taip pat palyginti failus, pažymėtus kaip neprisijungus pasiekiamuskuris gali būti naudingas aplinkose, kuriose duomenys saugomi nuotolinėse vietose arba specialiose failų sistemose.

Failo specifikacija ir greita pagalba

Be aukščiau pateiktų parinkčių, svarbu suprasti, kaip nurodyti failus komandinėje eilutėje. Sintaksės dalis, kurią sudaro failas1 y failas2 apibrėžti el pirmas ir antras failai kurį FC palygins. Galite naudoti pilnus kelius, santykinius kelius ir, jei reikia, skirtingas disko raides.

Komanda taip pat palaiko pakaitos simbolius: * y ?Jei faile „file1“ įterpsite žvaigždutę arba klaustuką, FC visus failus, atitinkančius šį šabloną, palygins su failu arba šablonu, nurodytu kaip failas „file2“. O jei faile „file2“ naudosite pakaitos simbolį, įrankis pritaikys lygiavertis failo pavadinimas1 užbaigti likusį modelį ir nustatyti poras, kurias reikia palyginti.

Galiausiai, modifikatorius /? Tai nėra lyginamųjų palyginimų dalis, o veikiau padeda rodyti komandos integruotą pagalbą komandų eilutėje. Vykdyti fc /? Tai greičiausias būdas peržiūrėti sintaksę savo kompiuteryje, visada ta kalba, kuria buvo įdiegta „Windows“.

  Remontas: Antimalware paslauga, vykdoma per didelis RAM ir procesoriaus naudojimas

Kaip FC rodo failų skirtumus

FC siūlomas išvesties formatas šiek tiek skiriasi priklausomai nuo to, ką darome. ASCII/Unicode teksto palyginimas arba dvejetainis palyginimasŠio formato supratimas padės greičiau perskaityti rezultatus ir rasti reikiamą informaciją.

Standartiniame ASCII palyginime, įvykdžius komandą, FC paprastai rodo pirmąjį pirmojo failo pavadinimas, po kurios eina eilutės iš to failo, kurios skiriasi nuo antrojo failo. Tada pasirodo pirmoji eilutė, kuri vėl sutampa abiejuose failuose, kuris veikia kaip pakartotinio sinchronizavimo taškas. Tada struktūra kartojama su antruoju failu: jo pavadinimas, skirtingos eilutės ir pirmoji vėlesnė atitikimo eilutė.

Kai įjungiate dvejetainį režimą su /BTačiau viskas keičiasi: kiekvienas neatitikimas pateikiamas naudojant tokio tipo sintaksę: \<XXXXXXXX: YY ZZ>. Vertė XXXXXXXXX Tai santykinis šešioliktainis adresas (prasidedantis 00000000), nurodantis poziciją, kurioje buvo rasta skirtinga baitų pora. Šalia jo rodomi YY y ZZ, kurios yra nesutampančių baitų, priklausančių atitinkamai failui1 ir failui2, šešioliktainės reikšmės.

Jei dvejetainių failų palyginimas pasiekia vieno iš failų pabaigą, o kitame vis dar yra duomenų, FC tai nurodys. vienas iš failų yra ilgesnis nei kitasTačiau jei išanalizavus visą turinį neaptinkama jokių skirtumų, ekrane pasirodys toks pranešimas FC: no differences encounteredarba jo lokalizuotą atitikmenį, aiškiai nurodant, kad abu failai yra identiški.

ASCII režimu FC pasikliauja savo vidinis 100 eilučių buferis (nebent modifikavote jį su /LBn), kad skaitytų ir atitiktų blokus. Jei failai yra tokie skirtingi, kad neranda atitikmens tame bloke, bus rodomas pranešimas „Sinchronizavimas nepavyko. Failai yra per daug skirtingi.“, nurodantis, kad nepavyko tinkamai suderinti dviejų teksto sekų.

FC komandos išėjimo kodai

Be teksto, kurį matote ekrane, vykdomasis failas fc.exe grąžina išėjimo kodą operacinei sistemai, kai ji baigia darbą. Šis kodas yra itin svarbus naudojant FC paketiniuose scenarijuose arba automatizavimuose, nes jis leidžia priimti sprendimus remiantis palyginimo rezultatu, nereikalaujant rankiniu būdu analizuoti grąžinto teksto.

Išėjimo kodų lentelė yra labai paprasta ir išlieka pastovi:

  • 0 – Lyginami failai yra identiškiTurinio skirtumų nerasta.
  • 1 – Failai yra skiriasiYra bent vienas neatitikimas tarp failo1 ir failo2.
  • 2 – A klaida palyginimo metuTai gali būti susiję su leidimais, nepasiekiamais failais, skaitymo problemomis arba neteisingais parametrais.

Paketiniame faile, kuriame norite patikrinti pakeitimus, galite naudoti šiuos kodus su tokiomis komandomis kaip JEI KLAIDOS LYGIS arba panašios konstrukcijos, kad scenarijus veiktų vienaip ar kitaip priklausomai nuo to, ar failai sutampa, ar ne.

Praktiniai FC naudojimo pavyzdžiai

Kai teorija suprantama, naudingiausia pamatyti konkrečias komandas, kurias galite vykdyti Šie pavyzdžiai naudojami kasdien lyginant failus sistemoje „Windows“. Jie tiesiogiai pagrįsti oficialia dokumentacija ir „Windows“ pagalba.

Palyginkite du tekstinius failus ASCII režimu

Įsivaizduokite, kad turite dvi ataskaitas, mėnesinis.rpt y pardavimai.rptIr norite pamatyti, kuo jie skiriasi, bet neužgriozdindami ekrano linijomis. Galite naudoti:

fc /a monthly.rpt sales.rpt

Pasirinkus /A parinktį, FC rodys tik kiekvieno skirtumų bloko pirmoji ir paskutinė eilutėstodėl rezultatas yra daug lengviau skaitomas, kai pakeitimai yra dideli.

Palyginti dvejetainius failus (pvz., paketinius scenarijus)

Jei jus domina baitų lygio pakeitimų tikrinimas dviejuose paketiniuose failuose, tarkime pelnas.bat y pajamos.batIdealiu atveju naudokite dvejetainį režimą:

fc /b profits.bat earnings.bat

Jei yra skirtumų, matysite, pavyzdžiui, kelias eilutes su skirtingais šešioliktainiais adresais ir baitų poromis. Kita vertus, jei abu failai sutampa 100 %, FC grąžins pranešimą, nurodantį, kad Nerasta jokių skirtumų palyginimo metu.

Palyginkite visus .bat failus su nuorodų failu

Kartais naudinga palyginti kelis failus vienu metu su nauja versija, kuri veikia kaip šablonas. Pavyzdžiui, jei norite palyginti kiekvieną .bat failą dabartiniame kataloge su new.batGalite naudoti šią komandą:

  Svečio režimo nustatymas ir naudojimas „Chromecast“.

fc *.bat new.bat

FC peržiūrės visus dabartiniame kataloge esančius .bat failus, kurie atitinka šabloną, ir palygins juos po vieną su nauju .bat failu, parodydamas kiekvienos poros skirtumus.

Palyginkite failus tuo pačiu pavadinimu skirtinguose diskuose

Kita gana tipiška situacija yra failų, esančių C ir D diskuose, patikrinimas, pavyzdžiui, kai tikrinate atsarginę kopiją. Norėdami palyginti visus .bat failus C: šakniniame kataloge su jų atitikmenimis D: diske, galite įvesti:

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

Šiuo atveju FC palygins kiekvieną paketinį failą C: šakniniame kataloge su failu, kurį jis turi tas pats pavadinimas D šaknyje:Jei norite palyginti tik konkretų failą, tereikės nurodyti pavadinimą, o ne pakaitos simbolį *.bat.

FC naudojimas „Windows“ konsolėje ir „PowerShell“

Klasikinė „Windows“ komandų konsolė, žinoma kaip CMDTai ideali aplinka FC komandos naudojimui, tačiau ją taip pat galite naudoti iš „PowerShell“, tik su nedideliu skirtumu. CMD tiesiog atidarykite langą (pavyzdžiui, įvesdami Cmd meniu Pradėti) ir vykdykite komandas tiksliai taip, kaip parodyta ankstesniuose pavyzdžiuose.

„PowerShell“, kaip jau minėta, fc yra „Format-Custom“ cmdlet slapyvardis.Norėdami išvengti konfliktų ir užtikrinti, kad naudojate klasikinį „Windows“ failų lygintuvą, turite įvesti fc.exe o ne tiesiog fcNuo to momento parametro sintaksė išlieka tokia pati kaip ir CMD.

Daugelis vartotojų derina FC su kitomis įprastomis konsolės komandomis, tokiomis kaip CD (norint pakeisti aplankus), DIR (norint išvardyti katalogo turinį), MEDIS (norėdami peržiūrėti poaplankių medį), JUDĖTI o RENAME (failams perkelti arba pervadinti) ir tokias programas kaip RASTI , kad ieškotumėte teksto eilučių viename ar keliuose failuose.

Visiškai įmanoma integruoti FC į sudėtingesnius scenarijus, kurie atlieka atsargines kopijas, sinchronizuoja katalogus arba tikrina konfigūracijos failus. nebuvo modifikuoti atsižvelgiant į originalų šabloną, pasinaudojant tiek išėjimo kodais, tiek konkrečiomis palyginimo parinktimis.

Supaprastinti FC naudojimo variantai ir dažnai naudojamos parinktys

Kai kuriose mokymo medžiagose ar paskaitų užrašuose dažnai galima rasti supaprastintą sintaksės versiją, kurioje paryškintos tik dažniausiai naudojamos parinktys. Pavyzdžiui, labai dažna santrumpa yra:

fc archivo1 archivo2

Šiame vaizdavime /b žymi dvejetainis palyginimasJei nenurodyta, laikoma, kad palyginimas yra teksto tipo (pagal numatytuosius nustatymus ASCII arba Unicode, jei nurodyta /U). Failas1 ir failas2 lieka failų, kuriuos norite palyginti, pavadinimais.

Daugelyje santraukų pagrindinės parinktys taip pat pateikiamos kaip /b – baitams palyginti, /l – eilutėms palyginti, /c – didžiosioms ir mažosioms raidėms neskirti ir /s – palyginimui. rekursyviai pakatalogiaiReikėtų patikslinti, kad /s parinktis nėra oficialios FC sintaksės dalis sistemoje „Windows“ (ji paprastai priklauso kitoms komandoms), tačiau kartais ji minima bendrose failų palyginimo schemose arba pastabose, kuriose maišomos skirtingos komandos.

Bet kokiu atveju, visada naudokite integruotą pagalbą fc /? ir oficialūs dokumentai užtikrins, kad turite teisingas parametrų sąrašas jūsų „Windows“ versijainepainiojant kitų komandų parinkčių su FC komandų parinktimis.

Atsižvelgiant į visą aukščiau pateiktą informaciją, FC komanda pasirodo esanti stebėtinai išsami priemonė visiems, kuriems reikia patikrinti failų pakeitimus sistemoje „Windows“: ji leidžia palyginti teksto, Unicode arba dvejetainiu režimu, koreguoti tarpų, didžiųjų raidžių ir tabuliacijos tvarkymą, tvarkyti failus neprisijungus, valdyti buferį ir pakartotinį sinchronizavimą, interpretuoti išėjimo kodus scenarijuose ir dirbti su šablonais bei pakaitos simboliais ištisoms failų partijoms, nesinaudojant išorinėmis programomis ir naudojantis pačiame operacinėje sistemoje integruota programa.

Palyginkite du tekstus, kad pamatytumėte skirtumus „PowerShell“ arba „CMD“
Susijęs straipsnis:
Kaip palyginti du tekstinius failus „PowerShell“ arba CMD