- Ukaz FC vam omogoča primerjavo ene ali več datotek v sistemu Windows v besedilnem, Unicode ali binarnem načinu in natančno navede njihove razlike.
- Z možnostmi (/A, /B, /C, /L, /U, /W, /LBn, /nnnn, /N, /OFFLINE, /T) prilagodite, kako se odstopanja interpretirajo in prikazujejo.
- FC vrne izhodne kode (0, 1 ali 2), ki olajšajo njegovo integracijo v skripte in avtomatizacije za preverjanje sprememb.
- Podpira poti, pogone in nadomestne znake za primerjavo paketov datotek in ga je mogoče uporabiti tako v CMD kot v PowerShellu s klicem fc.exe.
Če delate s skripti, poročili, kodo ali preprosto želite preveriti, ali je bila datoteka spremenjena, je ukaz Konzola Windows FC Je eden tistih diskretnih, a neverjetno uporabnih virov, o katerih skoraj nihče ne ve veliko. Ni vam treba nameščati ničesar ali uporabljati zunanjih programov: vključen je v sam operacijski sistem in je pripravljen za uporabo iz ukazne vrstice ali PowerShella – vidite lahko, kako Primerjajte besedila in datoteke v PowerShellu ali CMD.
V naslednjih vrsticah bomo videli Kako primerjati datoteke z ukazom FC v sistemu WindowsZajema ponujene načine primerjave (ASCII, Unicode in binarni), pomen vsakega parametra v uradni Microsoftovi sintaksi, kako interpretirati izhodne kode in več praktičnih primerov za vsakodnevno uporabo. Vse je korak za korakom razloženo v jasnem jeziku, ne da bi izpustile pomembne tehnične podrobnosti.
Kaj je ukaz FC in za kaj se uporablja?
Ukaz FC (Primerjava datotek) To je orodje ukazne vrstice sistema Windows, ki se uporablja za primerjavo vsebine dveh datotek ali dveh nizov datotek in prikaz razlik med njimi. Združljivo je s sistemi Windows 10, Windows 11, starejšimi različicami in strežniškimi izdajami. Windows Server 2019, 2022 in novejši.
Ko zaženete FC, sistem analizira obe datoteki in vam sporoči Ali so enaki, ali se razlikujejo in v čem se razlikujejo?Glede na izbrano možnost lahko deluje na ravni besedila (vrstica za vrstico), besedila Unicode ali na binarni ravni (bajt za bajtom), zato se prilagaja tako datotekam z navadnim besedilom (Primerjava datotek v beležnici), kot so izvedljive datoteke, slike ali druge binarne oblike.
Poleg tega vam FC omogoča, da natančneje določite vrsto primerjave zaradi več možnosti: lahko Prezri velike in male črke, prezri presledke, prikaži številke vrsticOmogoča vam omejitev števila zaporednih razlik, ki jih lahko notranji medpomnilnik obdela, primerjavo datotek, označenih kot brez povezave, in še več. Je veliko bolj prilagodljiv, kot se zdi na prvi pogled.
Pomembno je omeniti, da čeprav ga je mogoče poklicati iz PowerShella, v tem okolju fc je vzdevek ukaza »Format-Custom«.Če torej želite uporabiti klasično orodje za primerjavo datotek, morate izrecno vnesti fc.exe namesto samo fc, da se zagotovi pravilna binarna datoteka, ki se nahaja v C:\WINDOWS\fc.exe.
Celotna sintaksa ukaza FC
Uradna sintaksa ukaza, v skladu s pomočjo za Microsoft Windows, vključuje dva glavna načina uporabe: primerjava besedil (ASCII ali Unicode) y binarna primerjavaSplošna oblika je naslednja:
fc /a ] <archivo1> <archivo2>
fc /b <archivo1> <archivo2>
V praksi to pomeni, da lahko dodajte enega ali več modifikatorjev pred imeni datotek napišite , da prilagodite delovanje FC. Parametra poti in pogona sta neobvezna, zato preprosto navedite ime datoteke, če je v trenutnem imeniku; sicer boste morali navesti tudi pot ali pogon.
Klasična pomoč, ki se prikaže med zagonom fc /? V španskem ukaznem pozivu je sintaksa povzeta takole (oblikovana za boljše razumevanje):
FC ]
archivo1 archivo2
FC /B archivo1 archivo2
V vseh teh različicah, datoteka1 y datoteka2 Ti predstavljajo prvo in drugo datoteko (ali vzorec datotek), ki ju je treba primerjati. Podprti so tudi nadomestni znaki, ki omogočajo primerjavo celih skupin datotek z enim samim ukazom.
Pomen vsakega parametra ukaza FC
Pravi potencial ukaza postane jasen, ko vidite, kaj počne vsaka možnost. Te so podrobno opisane spodaj. vse parametre, ki jih prepozna fc.exe kot so prikazani v Microsoftovi dokumentaciji in v vgrajeni pomoči.
Načini primerjave
/A – Omogoča poenostavljen način izhoda za primerjave besedil ASCII. Namesto seznama vseh vrstic, ki se razlikujejo med datotekama, FC prikaže le prva in zadnja vrstica vsake skupine razlikTo je zelo uporabno, kadar gre za velike bloke sprememb in ne želite, da se konzola napolni z neskončnim besedilom.
/B – Sila ena binarna primerjava bajt za bajtomV tem načinu se po odkritju neskladja podatkovni tok ne poskuša ponovno sinhronizirati; preprosto se nadaljuje in prikaže vsako zaznano razliko. To je privzeti način za datoteke s tipično binarnimi končnicami, kot so .exe, .com, .sys, .obj, .lib ali .bin, tudi če stikala /B ne določite izrecno.
/L – Naročite FC, naj izvede Primerjava ASCII vrstica za vrsticovedno poskuša ponovno sinhronizirati datoteke, ko zazna razliko. To je privzeti način za vse datoteke, ki se ne štejejo za binarne (tj. tiste brez izvedljive datoteke in podobnih končnic, omenjenih prej).
/U – Spremenite vedenje ukaza fc, da bo datoteke obravnaval kot Besedilne datoteke UnicodeTa možnost zagotavlja, da se spoštuje specifično kodiranje (kot je UTF-16) in da se znaki, ki presegajo osnovni ASCII, pravilno interpretirajo.
Nadzor nad uporabo velikih začetnic, presledkov in tabulatorjev
/C – Zaradi tega ukaz prezre razlike med velika in mala črkaČe se spremenijo le velike in male črke (na primer »Hola« v primerjavi z »HOLA«), bodo vrstice obravnavane kot enakovredne in ne bodo označene kot različne. Upoštevajte, da to velja za črke, ne pa za druge znake.
/W – Zmanjšajte in zmanjšajte pomen prazen prostorTo pomeni tabulatorje in presledke. Ko ima vrstica dolgo zaporedje zaporednih presledkov ali tabulatorjev, jih bo FC obravnaval kot en sam presledek. Poleg tega, če uporabite /W, ukaz prezre začetni in končni prostor vsake vrstice med primerjavo, kar je odlično za skripte ali besedila, kjer zamik ni pomemben.
/T – Onemogoči samodejno pretvorbo tabulatorjev v presledke. FC privzeto običajno obravnava tabulatorje kot presledke s prelomom vsakih osem znakov, vendar z /T Tabele se upoštevajo takšne, kot so.To je uporabno, kadar je natančna poravnava del smiselne vsebine.
Upravljanje in sinhronizacija notranjega medpomnilnika
/LB – Prilagodite velikost notranji linijski medpomnilnik ki ga FC uporablja pri primerjavi besedilnih datotek. Ta medpomnilnik privzeto omogoča obdelavo do 100 različnih zaporednih vrstic. Če imata datoteki, ki ju primerjate, več kot 100 zaporednih vrstic brez ujemanj, program meni, da sta se datoteki preveč premaknili in prekine primerjavoS tem parametrom lahko zvišate ali znižate to omejitev in namesto 100 določite določeno število vrstic.
/ – Določite, koliko zaporedne vrstice se morajo ujemati Po neskladju FC šteje, da je uspešno ponovno sinhroniziral obe datoteki. Privzeta vrednost je 2. Če po bloku razlik najde manj kot nnnn zaporednih enakih vrstic, bodo te vrstice še vedno prikazane kot del razlik, ker program predpostavlja, da datoteke ostanejo neporavnane.
Možnosti ogledovanja in arhiviranja brez povezave
/N – To povzroča številke vrstic Pri primerjavi ASCII boste poleg vsebine videli tudi dejansko referenco vrstice vsake datoteke, kar je bistveno, ko boste pozneje morali ročno urediti zadevno datoteko.
/IZKLOP – FC privzeto preskoči datoteke, ki imajo nastavljen atribut »brez povezave«. Ta možnost programu pove, da Primerjaj tudi datoteke, označene kot brez povezavekar je lahko uporabno v okoljih, kjer so podatki shranjeni na oddaljenih lokacijah ali v posebnih datotečnih sistemih.
Specifikacija datoteke in hitra pomoč
Poleg zgornjih možnosti je pomembno razumeti, kako določiti datoteke v ukazni vrstici. Del sintakse, ki ga sestavljajo datoteka1 y datoteka2 opredeljuje prva in druga datoteka ki ga bo FC primerjal. Uporabite lahko celotne poti, relativne poti in po potrebi različne črke pogonov.
Ukaz podpira tudi nadomestne znake: * y ?Če v datoteko file1 vključite zvezdico ali vprašaj, bo FC primerjal vse datoteke, ki se ujemajo s tem vzorcem, z datoteko ali vzorcem, določenim kot file2. Če v datoteki file2 uporabite nadomestni znak, bo orodje uporabilo enakovredno ime datoteke1 da dokončate preostali vzorec in določite pare, ki jih je treba primerjati.
Končno, modifikator /? To ni del primerjav kot takih, temveč služi za prikaži vgrajeno pomoč ukaza v ukazni vrstici. Zaženi fc /? To je najhitrejši način za pregled sintakse na vašem računalniku, vedno v jeziku vaše namestitve sistema Windows.
Kako FC prikazuje razlike med datotekami
Izhodna oblika, ki jo ponuja FC, se nekoliko razlikuje glede na to, kaj počnemo. Primerjava besedil ASCII/Unicode ali a binarna primerjavaRazumevanje te oblike vam bo pomagalo hitreje prebrati rezultate in najti potrebne informacije.
Pri standardni primerjavi ASCII, po izvedbi ukaza, FC običajno prikaže prvi ime prve datoteke, ki mu sledijo vrstice iz te datoteke, ki se razlikujejo od druge datoteke. Nato se prikaže prva vrstica, ki se spet ujema v obeh datotekah, kar deluje kot točka ponovne sinhronizacije. Nato se struktura ponovi z drugo datoteko: njeno ime, različne vrstice in prva naslednja ujemajoča se vrstica.
Ko aktivirate binarni način z /BVendar se stvari spremenijo: vsako neskladje je predstavljeno s sintakso tega tipa: \<XXXXXXXX: YY ZZ>. Vrednost XXXXXXXX To je relativni šestnajstiški naslov (ki se začne z 00000000), ki označuje položaj, kjer je bil najden ločen par bajtov. Zraven so prikazani YY y ZZ, ki so šestnajstiške vrednosti neujemajočih se bajtov, ki pripadajo datoteki file1 oziroma datoteki file2.
Če binarna primerjava doseže konec ene od datotek, druga pa še vedno vsebuje podatke, bo FC to pokazal. ena od datotek je daljša od drugeČe pa po analizi vse vsebine ne zazna nobene razlike, se na zaslonu prikaže sporočilo, kot je to. FC: no differences encounteredali njegov lokalizirani ekvivalent, s čimer je jasno, da sta obe datoteki enaki.
V načinu ASCII se FC zanaša na svoje notranji medpomnilnik s 100 vrsticami (razen če ste ga spremenili z /LBn) za branje in ujemanje po blokih. Če so datoteke tako različne, da ne more najti ujemanja znotraj tega bloka, bo prikazal sporočilo »Ponovna sinhronizacija ni uspela. Datoteke so preveč različne.«, kar pomeni, da ni mogel ustrezno poravnati obeh zaporedij besedila.
Izhodne kode ukaza FC
Poleg besedila, ki ga vidite na zaslonu, je izvedljiva datoteka fc.exe vrne izhodno kodo operacijskemu sistemu, ko se konča. Ta koda je izjemno pomembna pri uporabi FC znotraj paketnih skriptov ali avtomatizacij, saj omogoča sprejemanje odločitev na podlagi rezultata primerjave, ne da bi morali ročno analizirati vrnjeno besedilo.
Tabela izhodnih kod je zelo preprosta in ostaja nespremenjena:
- 0 – Primerjane datoteke so identičnaV vsebini ni bilo ugotovljene nobene razlike.
- 1 – Datoteke so razlikujeMed datoteko1 in datoteko2 je vsaj eno neskladje.
- 2 – A napaka med primerjavoLahko je povezano z dovoljenji, nedostopnimi datotekami, težavami z branjem ali neveljavnimi parametri.
V paketni datoteki, kjer želite preveriti spremembe, lahko te kode uporabite z ukazi, kot so ČE JE NIVO NAPAKE ali podobne konstrukcije, tako da skript deluje na tak ali drugačen način, odvisno od tega, ali se datoteke ujemajo ali ne.
Praktični primeri uporabe FC
Ko je teorija enkrat razumljena, je najbolj koristno videti določene ukaze, ki jih lahko izvedete Ti primeri se uporabljajo pri vsakodnevni primerjavi datotek v sistemu Windows. Temeljijo neposredno na uradni dokumentaciji in pomoči sistema Windows.
Primerjava dveh besedilnih datotek v načinu ASCII
Predstavljajte si, da imate dve poročili, mesečno.rpt y prodaja.rptIn želite videti, kako se razlikujejo, vendar ne da bi pri tem preobremenili zaslon s črtami. Lahko uporabite:
fc /a monthly.rpt sales.rpt
Z možnostjo /A bo FC prikazal samo prva in zadnja vrstica vsakega bloka razlikzaradi česar je rezultat veliko bolj berljiv, ko so spremembe obsežne.
Primerjava binarnih datotek (npr. paketnih skriptov)
Če vas zanima preverjanje sprememb na ravni bajtov v dveh paketnih datotekah, recimo dobiček.bat y zaslužek.batV idealnem primeru uporabite binarni način:
fc /b profits.bat earnings.bat
Če obstajajo razlike, boste videli nekaj takega kot več vrstic z različnimi šestnajstiškimi naslovi in pari bajtov. Če pa se datoteki ujemata 100 %, bo FC vrnil sporočilo, ki navaja, da Ni bilo ugotovljenih razlik med primerjavo.
Primerjaj vse datoteke .bat z referenčno datoteko
Včasih je koristno primerjati več datotek hkrati z novo različico, ki deluje kot predloga. Na primer, če želite primerjati vsako datoteko .bat v trenutnem imeniku z nov.batUporabite lahko ta ukaz:
fc *.bat new.bat
FC bo pregledal vse datoteke .bat v trenutnem imeniku, ki se ujemajo z vzorcem, in jih eno za drugo primerjal z datoteko new.bat, pri čemer vam bo prikazal razlike med posameznimi pari.
Primerjajte datoteke z istim imenom na različnih pogonih
Druga dokaj tipična situacija je preverjanje, ali se datoteke na disku C in disku D ujemajo, na primer pri preverjanju varnostne kopije. Če želite primerjati vse datoteke .bat v korenskem imeniku diska C: z njihovimi ustreznicami na disku D:, lahko vnesete:
fc c:\*.bat d:\*.bat
V tem primeru bo FC primerjal vsako paketno datoteko v korenskem imeniku C: z datoteko, ki jo ima isto ime v korenu D:Če želite primerjati samo določeno datoteko, morate namesto nadomestnega znaka *.bat preprosto navesti ime.
Uporaba FC v konzoli Windows in PowerShellu
Klasična ukazna konzola sistema Windows, znana kot CMDPonuja idealno okolje za izkoriščanje ukaza FC, vendar ga lahko z majhno razliko uporabite tudi iz PowerShella. V CMD preprosto odprite okno (na primer tako, da vtipkate cmd v meniju Start) in izvedite ukaze točno tako, kot je prikazano v prejšnjih primerih.
V PowerShellu, kot smo že omenili, fc je vzdevek ukaza »Format-Custom«.Da bi se izognili konfliktom in zagotovili uporabo klasičnega primerjalnika datotek sistema Windows, morate vnesti fc.exe namesto preprosto fcOd takrat naprej sintaksa parametrov ostane enaka kot v CMD.
Mnogi uporabniki kombinirajo FC z drugimi pogostimi ukazi konzole, kot je CD (za menjavo map), DIR (za seznam vsebine imenika), DREVO (za ogled drevesa podmap), PREMIK o RENAME (za premikanje ali preimenovanje datotek) in pripomočki, kot so POIŠČITE za iskanje besedilnih nizov v eni ali več datotekah.
Povsem izvedljivo je integrirati FC v bolj kompleksne skripte, ki izvajajo varnostne kopije, sinhronizirajo imenike ali preverjajo konfiguracijske datoteke. niso bili spremenjeni glede na izvirno predlogo, pri čemer se izkoristijo tako izhodne kode kot tudi posebne možnosti primerjave.
Poenostavljene različice uporabe FC in pogosto uporabljene možnosti
V nekaterih učnih gradivih ali zapiskih predavanj je pogosto mogoče najti poenostavljeno različico sintakse, ki poudarja le najpogosteje uporabljene možnosti. Zelo pogosta okrajšava je na primer:
fc archivo1 archivo2
V tej predstavitvi /b služi za označevanje binarna primerjavaČe je izpuščen, se predpostavlja, da je primerjava besedilnega tipa (privzeto ASCII ali Unicode, če je podan /U). Datoteka1 in datoteka2 ostaneta imeni datotek, ki jih želite primerjati.
Številni povzetki navajajo tudi naslednje ključne možnosti: /b za primerjavo bajt za bajtom, /l za primerjavo vrstic za vrstico, /c za primerjavo brez razlikovanja med velikimi in malimi črkami in /s za primerjavo rekurzivno poddirektorijeTreba je pojasniti, da možnost /s ni del uradne sintakse FC v sistemu Windows (običajno pripada drugim ukazom), vendar se včasih navaja v generičnih shemah primerjave datotek ali v opombah, ki mešajo različne ukaze.
V vsakem primeru vedno uporabite vgrajeno pomoč fc /? in uradna dokumentacija vam bo zagotovila, da imate pravilen seznam parametrov za vašo različico sistema Windowsbrez zamenjevanja možnosti iz drugih ukazov z možnostmi iz FC.
Glede na vse zgornje informacije se ukaz FC izkaže kot presenetljivo celovito orodje za vse, ki morajo preveriti spremembe med datotekami v sistemu Windows: omogoča primerjavo v besedilnem, Unicode ali binarnem načinu, prilagajanje načina ravnanja s presledki, velikimi črkami in tabulatorji, upravljanje datotek brez povezave, nadzor medpomnilnika in ponovne sinhronizacije, interpretacijo izhodnih kod v skriptih in delo z vzorci in nadomestnimi znaki za celotne serije datotek, vse brez uporabe zunanjih aplikacij in izkoriščanja pripomočka, integriranega v sam operacijski sistem.
Strasten pisec o svetu bajtov in tehnologije nasploh. Rad delim svoje znanje s pisanjem in to je tisto, kar bom počel v tem blogu, saj vam bom pokazal vse najbolj zanimive stvari o pripomočkih, programski opremi, strojni opremi, tehnoloških trendih in še več. Moj cilj je, da vam pomagam krmariti po digitalnem svetu na preprost in zabaven način.


