Condividi tramite


fc

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

Syntax

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>

Parameters

Parameter Description
/a Abbreviata l'output di un confronto ASCII. Invece di visualizzare tutte le righe diverse, fc visualizza solo la prima e l'ultima riga per ogni insieme 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 linea interno su N. La lunghezza predefinita del buffer di linea è di 100 righe. Se i file che si stanno confrontando 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 a fc di convertire le tabulazioni 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 consecutive, /w considera questi caratteri come un singolo spazio. Se utilizzato con /w, fc ignora gli spazi vuoti all'inizio e alla fine di una riga.
/<nnnn> Specifica il numero di righe consecutive che devono corrispondere in seguito a una mancata corrispondenza, prima che fc consideri i file da risincronizzare. Se il numero di righe corrispondenti nei file è inferiore a 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.

Exit codes

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

Exit code Description
0 I file sono identici.
1 I file sono diversi.
2 Si è verificato un errore durante il confronto.

Remarks

  • 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 utilizza 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, misurato dall'inizio del file. Gli indirizzi iniziano da 000000000. I valori esadecimali per YY e ZZ rappresentano i byte non corrispondenti rispettivamente da nomefile1 e nomefile2.

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

  • Quando si confrontano i file ASCII, fc utilizza un buffer interno (abbastanza grande da contenere 100 righe) come 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, si interrompe e visualizza il seguente messaggio:

    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.

Examples

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

fc /a monthly.rpt sales.rpt

Per effettuare 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 seguente messaggio:

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

Per confrontare tutti i file .bat nella directory corrente con il filenew.bat, digitare:

fc *.bat new.bat

Per confrontare il filenew.bat sull'unità C con il filenew.bat sull'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