FC
Compara dois arquivos e exibe as diferenças entre eles.
Sintaxe :
Para fazer uma comparação em ASCII, use a seguinte sintaxe:
FC [/A] [/C] [/L] [/LBn] [/N] [/T] [/W] [/nnnn][unidade1:][caminho1]nome-de-arquivo1 [unidade2:][caminho2]nome-de-arquivo2
Para fazer uma comparação binária, use a seguinte sintaxe:
FC /B [unidade1:][caminho1]nome-de-arquivo1 [unidade2:][caminho2]nome-de-arquivo2
Parâmetros :
[unidade1:][caminho1]nome-de-arquivo1
Especifica a localização e o nome do primeiro arquivo a ser comparado.
[unidade2:][caminho2]nome-de-arquivo2
Especifica a localização e o nome do segundo arquivo a ser comparado.
Opções :
/A
Abrevia a saída de uma comparação em ASCII. Em vez de exibir todas as linhas diferentes, o FC exibe somente a primeira e a última linha de cada bloco de diferenças.
/C
Ignora letras maiúsculas e minúsculas.
/L
Compara os arquivos em modo ASCII. O FC compara os dois arquivos linha a linha e tenta sincronizá-los novamente após encontrar uma divergência. Este é o modo padrão para a comparação de arquivos que não possuem as extensões .EXE, .COM, .SYS, .OBJ, .LIB e .BIN.
/LBn
Define o número de linhas para a memória intermediária de linha interna. O comprimento padrão da memória intermediária de linha é de 100 linhas. Se os arquivos comparados excederem esse número de linhas divergentes consecutivas, o FC cancela a comparação.
/N
Exibe os números das linhas durante a comparação em ASCII.
/T
Não expande tabulações em espaços. O comportamento padrão é tratar as tabulações como espaços, com paradas a cada oitava posiçao de caractere.
/W
Comprime os espaços em branco (tabulações e espaços) durante a comparação. Caso um arquivo contenha vários espaços ou tabulações consecutivos, a opção /W trata esses caracteres como um único espaço. Quando usado com a opção /W, o FC ignora (e não compara) os espaços em branco no início e no final de uma linha.
/nnnn
Especifica o número de linhas consecutivas que devem ter correspondência para que o FC considere os arquivos ressincronizados. Caso o número de linhas coincidentes nos arquivos seja menor que este número, o FC exibe as linhas coincidentes como diferenças. O valor padrão ‚ 2.
/B
Compara os arquivos em modo binário. O FC compara os dois arquivos byte a byte e tenta ressincronizá-los depois de encontrar uma divergência. Este é o modo padrão para a comparação de arquivos que possuem as extensões .EXE, .COM, .SYS, .OBJ, .LIB e .BIN.
Exemplos :
Suponha que queira fazer uma comparação em ASCII de dois arquivos de texto de nomes MENSAL.RPT e VENDAS.RPT, e exibir os resultados em formato abreviado. Para fazer esta comparação, digite o seguinte comando:
fc /a mensal.rpt vendas.rpt
Para fazer uma comparação binária de dois arquivos de lote denominados LUCROS.BAT e GANHOS.BAT, digite o seguinte comando:
fc /b lucros.bat ganhos.bat
Os resultados deste comando serão semelhantes a:
00000002: 72 43
00000004: 65 3A
0000000E: 56 92
00000012: 6D 5C
00000013: 0D 7C
00000014: 0D 0A
00000015: 0A 0D
0000001E: 43 7A
0000001F: 09 0A
00000022: 72 44
000005E0: 00 61
000005E1: 00 73
000005E2: 00 73
000005E3: 00 69
000005E4: 00 67
000005E5: 00 6E
000005E6: 00 6D
000005E7: 00 65
000005E8: 00 6E
FC: GANHOS.BAT mais longo que LUCROS.BAT
Se LUCROS.BAT e GANHOS.BAT fossem idênticos, o FC exibiria a seguinte mensagem:
FC: nenhuma diferença encontrada
Para comparar todos os arquivos .BAT do diretório atual com o arquivo NOVO.BAT, digite o seguinte comando:
fc *.bat novo.bat
Para comparar o arquivo NOVO.BAT da unidade C com o arquivo NOVO.BAT da unidade D, digite o seguinte comando:
fc c:novo.bat d:*.bat
Para comparar cada arquivo de lote do diretório principal da unidade C com o arquivo de mesmo nome do diretório principal da unidade D, digite o seguinte comando:
fc c:\*.bat d:\*.bat
Observações :
Informando diferenças entre arquivos para uma comparação em ASCII
Quando o FC é usado para uma comparação em ASCII, o MS-DOS informa as diferenças entre dois arquivos exibindo o nome do primeiro arquivo, seguido da última linha coincidente em ambos os arquivos, seguida das linhas do nome-de-arquivo1 que divergem nos dois arquivos, seguidas da primeira linha coincidente em ambos os arquivos. O MS-DOS, então, exibe o nome do segundo arquivo, seguido da última linha coincidente, seguida das linhas do nome-de-arquivo2 que divergem, seguidas da próxima linha coincidente.
Usando a opção /B para comparações binárias :
O MS-DOS usa o seguinte formato para informar divergências encontradas durante uma comparação binária:
xxxxxxxx: yy zz
O valor de xxxxxxxx especifica o endereço hexadecimal relativo para o par de bytes, medido a partir do início do arquivo. Os endereços começam com 00000000; os valores hexadecimais para yy e zz representam os bytes divergentes do nome-de-arquivo1 e nome-de-arquivo2, respectivamente.
Usando curingas :
Os curingas (* e ?) podem ser usados em qualquer dos nomes-de-arquivo especificados com o comando FC. Se for usado um coringa no nome-de-arquivo1, o FC compara todos os arquivos especificados com o arquivo especificado por nome-de-arquivo2. Se for usado um coringa no nome-de-arquivo2, o FC usa o valor correspondente do nome-de-arquivo1.
Como o FC usa a memória :
Ao comparar arquivos ASCII, o FC usa uma memória intermediária (buffer) interna (suficiente para manter 100 linhas) como armazenagem. Se os arquivos forem maiores que a memória intermediária, o FC compara a porção que é capaz de armazenar na memória intermediária. Se o FC não conseguir encontrar uma correpondência nas porções armazenadas dos arquivos, interrompe o processo e exibe a mensagem a seguir:
Falha de ressincronizção. Arquivos muito diferentes.
Ao comparar arquivos binários maiores que a memória disponível, o FC compara-os por inteiro, sobrepondo as porções na memória com as porções seguintes do disco. A saída é a mesma que seria para os arquivos que cabem completamente na memória.