Condividi tramite


Fc

Confronta due file o set di file e visualizza le differenze tra di essi.

Sintassi

fc /a [/c] [/l] [/lb<n>] [/n] [/off[line]] [/t] [/u] [/w] [/<nnnn>] [<drive1>:][<path1>]<filename1> [<drive2>:][<path2>]<filename2>
fc /b [<drive1:>][<path1>]<filename1> [<drive2:>][<path2>]<filename2>

Parametri

Parametro Descrizione
/un Abbreviata l'output di un confronto ASCII. Anziché visualizzare tutte le linee diverse, fc visualizza solo la prima e l'ultima riga per ogni set di differenze.
/ b Confronta i due file in modalità binaria, byte byte e non tenta di risincronizzare i file dopo aver trovato una mancata corrispondenza. Questa è la modalità predefinita per confrontare i file con le estensioni di file seguenti: .exe, .com, .sys, .obj, lib o .bin.
/c Ignora la lettera maiuscola.
/l Confronta i file in modalità ASCII, riga per riga e tenta di risincronizzare i file dopo aver trovato una mancata corrispondenza. Questa è la modalità predefinita per il confronto dei file, ad eccezione dei file con le estensioni di file seguenti: .exe, .com, .sys, .obj, lib o .bin.
/Lb<n> Imposta il numero di righe per il buffer di riga interno su N. La lunghezza predefinita del buffer di riga è 100 righe. Se i file confrontati hanno più di 100 righe diverse consecutive, fc annulla il confronto.
/n Visualizza i numeri di riga durante un confronto ASCII.
/off[line] Non ignora i file con l'attributo offline impostato.
/t Impedisce fc di convertire le schede in spazi. Il comportamento predefinito consiste nel considerare le schede come spazi, con arresti in corrispondenza di ogni ottava posizione del carattere.
/u Confronta i file come file di testo Unicode.
/w Comprime gli spazi vuoti ,ovvero tabulazioni e spazi, durante il confronto. Se una riga contiene molti spazi o tabulazioni consecutivi, /w considera questi caratteri come uno spazio singolo. Se usato con /w, fc ignora lo spazio vuoto all'inizio e alla fine di una riga.
/<nnnn> Specifica il numero di righe consecutive che devono corrispondere a seguito di una mancata corrispondenza, prima di fc considera i file da risincronizzare. Se il numero di righe corrispondenti nei file è minore di nnnn, fc visualizza le righe corrispondenti come differenze. Il valore predefinito è 2.
[<drive1>:][<path1>]<filename1> Specifica il percorso e il nome del primo file o del set di file da confrontare. filename1 è obbligatorio.
[<drive2>:][<path2>]<filename2> Specifica il percorso e il nome del secondo file o set di file da confrontare. filename2 è obbligatorio.
/? Visualizza la Guida al prompt dei comandi.

Codici di uscita

La tabella seguente elenca ogni fc.exe codice di uscita e una descrizione.

Codice di uscita Descrizione
0 I file sono identici.
1 I file sono diversi.
2 Si è verificato un errore durante il confronto.

Osservazioni

  • Questo comando viene implementato da c:\WINDOWS\fc.exe. È possibile usare questo comando all'interno di PowerShell, ma assicurarsi di specificare il file eseguibile completo (fc.exe) perché 'fc' è anche un alias per Format-Custom.

  • Quando si usa fc per un confronto ASCII, fc visualizza le differenze tra due file nell'ordine seguente:

    • Nome del primo file

    • Righe di filename1 che differiscono tra i file

    • Prima riga corrispondente in entrambi i file

    • Nome del secondo file

    • Righe di filename2 che differiscono

    • Prima riga in cui trovare la corrispondenza

  • /b visualizza le mancate corrispondenze rilevate durante un confronto binario nella sintassi seguente:

    \<XXXXXXXX: YY ZZ>

    Il valore di XXXXXXXX specifica l'indirizzo esadecimale relativo per la coppia di byte, misurata dall'inizio del file. Gli indirizzi iniziano da 000000000. I valori esadecimali per YY e ZZ rappresentano rispettivamente i byte non corrispondenti di filename1 e filename2.

  • È possibile usare caratteri jolly (* e ?) in filename1 e filename2. Se si usa un carattere jolly in filename1, fc confronta tutti i file specificati con il file o il set di file specificato da filename2. Se si usa un carattere jolly in filename2, fc usa il valore corrispondente da filename1.

  • Quando si confrontano i file ASCII, fc usa un buffer interno (sufficientemente grande da contenere 100 righe) come risorsa di archiviazione. Se i file sono più grandi del buffer, fc confronta ciò che può caricare nel buffer. Se fc non trova una corrispondenza nelle parti caricate dei file, viene arrestato e visualizzato il messaggio seguente:

    Resynch failed. Files are too different.

    Quando si confrontano file binari di dimensioni superiori alla memoria disponibile, fc confronta completamente entrambi i file, sovrapponendo le parti in memoria con le parti successive del disco. L'output è uguale a quello per i file che si adattano completamente in memoria.

Esempi

Per eseguire un confronto ASCII di due file di testo, monthly.rpt e sales.rpte visualizzare i risultati in formato abbreviato, digitare:

fc /a monthly.rpt sales.rpt

Per eseguire un confronto binario di due file batch, profits.bat e earnings.bat, digitare:

fc /b profits.bat earnings.bat

Vengono visualizzati risultati simili ai seguenti:

00000002: 72 43
00000004: 65 3A
0000000E: 56 92
000005E8: 00 6E
FC: earnings.bat longer than profits.bat

Se i file profits.bat e earnings.bat sono identici, fc visualizza il messaggio seguente:

Comparing files profits.bat and earnings.bat
FC: no differences encountered

Per confrontare ogni .bat file nella directory corrente con il file new.bat, digitare:

fc *.bat new.bat

Per confrontare il file new.bat nell'unità C con il file new.bat nell'unità D, digitare:

fc c:new.bat d:*.bat

Per confrontare ogni file batch nella directory radice nell'unità C con lo stesso nome nella directory radice nell'unità D, digitare:

fc c:*.bat d:*.bat