fc

Compara dois arquivos ou conjuntos de arquivos e exibe as diferenças entre eles.

Sintaxe

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>

Parâmetros

Parâmetro Descrição
/a Abrevia a saída de uma comparação ASCII. Em vez de exibir todas as linhas diferentes, fc exibe apenas a primeira e a última linha para cada conjunto de diferenças.
/b Compara os dois arquivos no modo binário, byte por byte e não tenta ressincronizar os arquivos depois de encontrar uma incompatibilidade. Esse é o modo padrão para comparar arquivos que têm as seguintes extensões de arquivo: .exe, .com, .sys, .obj, .lib ou .bin.
/c Ignora a letra maiúscula.
/l Compara os arquivos no modo ASCII, linha por linha e tenta ressincronizar os arquivos depois de encontrar uma incompatibilidade. Esse é o modo padrão para comparar arquivos, exceto arquivos com as seguintes extensões: .exe, .com, .sys, .obj, .lib ou .bin.
/lb<n> Define o número de linhas do buffer de linha interno como N. O comprimento padrão do buffer de linha é de 100 linhas. Se os arquivos que está comparando tiverem mais de 100 linhas diferentes consecutivas, o fc cancelará a comparação.
/n Exibe os números de linha durante uma comparação ASCII.
/off[line] Não ignora arquivos que têm o atributo offline definido.
/t Impede que o fc converta guias em espaços. O comportamento padrão é tratar as tabulações como espaços, com paradas em cada posição de oitavo caractere.
/u Compara arquivos como arquivos de texto Unicode.
/w Compacta o espaço em branco (ou seja, tabulações e espaços) durante a comparação. Se uma linha contiver muitos espaços ou tabulações consecutivos, o /w tratará esses caracteres como um único espaço. Quando usado com /w, fc ignora o espaço em branco no início e no final de uma linha.
/<nnnn> Especifica o número de linhas consecutivas que devem corresponder após uma incompatibilidade, antes que o fc considere os arquivos a serem ressincronizados. Se o número de linhas correspondentes nos arquivos for menor que nnnn, fc exibirá as linhas correspondentes como diferenças. O valor padrão é 2.
[<drive1>:][<path1>]<filename1> Especifica o local e o nome do primeiro arquivo ou conjunto de arquivos a serem comparados. filename1 é necessário.
[<drive2>:][<path2>]<filename2> Especifica o local e o nome do segundo arquivo ou conjunto de arquivos a serem comparados. filename2 é necessário.
/? Exibe a ajuda no prompt de comando.

Comentários

  • Esse comando é implementado por c:\WINDOWS\fc.exe. Use esse comando no PowerShell, mas certifique-se de soletrar o executável completo (fc.exe), pois 'fc' também é um alias para Format-Custom.

  • Ao usar o fc para uma comparação ASCII, o fc exibe as diferenças entre dois arquivos na seguinte ordem:

    • Nome do primeiro arquivo

    • Linhas de filename1 que diferem entre os arquivos

    • Primeira linha a ser correspondida em ambos os arquivos

    • Nome do segundo arquivo

    • Linhas de filename2 que diferem

    • Primeira linha a ser correspondida

  • /b exibe incompatibilidades encontradas durante uma comparação binária na seguinte sintaxe:

    \<XXXXXXXX: YY ZZ>

    O valor de XXXXXXXX especifica o endereço hexadecimal relativo para o par de bytes, medido desde o início do arquivo. Os endereços começam em 00000000. Os valores hexadecimal para YY e ZZ representam os bytes incompatíveis de filename1 e filename2, respectivamente.

  • Use caracteres curinga (* e ?) em filename1 e filename2. Caso use um curinga em filename1, o fc comparará todos os arquivos especificados com o arquivo ou conjunto de arquivos especificados por filename2. Caso use um curinga em filename2, o fc usará o valor correspondente de filename1.

  • Ao comparar arquivos ASCII, fc usa um buffer interno (grande o suficiente para manter 100 linhas) como armazenamento. Se os arquivos forem maiores que o buffer, o fc comparará o que ele pode carregar no buffer. Se o fc não encontrar uma correspondência nas partes carregadas dos arquivos, ele será interrompido e exibirá a seguinte mensagem:

    Resynch failed. Files are too different.

    Ao comparar arquivos binários maiores que a memória disponível, o fc compara os dois arquivos completamente, sobrepondo as partes na memória com as próximas partes do disco. A saída é a mesma para arquivos que se encaixam completamente na memória.

Exemplos

Para fazer uma comparação ASCII de dois arquivos de texto, monthly.rpt e sales.rpt, e exibir os resultados em formato abreviado, digite:

fc /a monthly.rpt sales.rpt

Para fazer uma comparação binária de dois arquivos em lote, profits.bat e earnings.bat, digite:

fc /b profits.bat earnings.bat

Aparecem resultados semelhantes aos seguintes:

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

Se os arquivos profits.bat e earnings.bat forem idênticos, o fc exibirá a seguinte mensagem:

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

Para comparar cada arquivo .bat no diretório atual com o arquivo new.bat, digite:

fc *.bat new.bat

Para comparar o arquivo new.bat na unidade C com o arquivo new.bat na unidade D, digite:

fc c:new.bat d:*.bat

Para comparar cada arquivo em lote no diretório raiz na unidade C com o arquivo com o mesmo nome no diretório raiz na unidade D, digite:

fc c:*.bat d:*.bat