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