LA COMMANDE FC

Commande externe. Fonctionne sur la ligne de commande ou dans un batch.

Compare deux fichiers (ASCII ou binaire) et affiche les differences.

Syntaxe

Pour operer une comparaison ASCII, tapez:

FC [/A] [/C] [/L] [/LBn] [/N] [/T] [/W] [/nnnn][lecteur1:][chemin1] fichier1 [lecteur2:][chemin2]fichier2

Pour operer une comparaison binaire, tapez:

FC /B [lecteur1:][chemin1]fichier1 [lecteur2:][chemin2]fichier2

Parametres

[lecteur1:][chemin1]fichier1

Specifie l'emplacement et le nom du premier fichier a comparer.

[lecteur2:][chemin2]fichier2

Specifie l'emplacement et le nom du second fichier a comparer.

Commutateurs

/A

Resume le resultat de la comparaison ASCII. Au lieu d'afficher toutes les lignes qui sont differentes, FC n'affiche que la premiere et la derniere de chaque serie de differences.

/C

Ne fait pas de distinction entre majuscules et minuscules.

/L

Compare ligne par ligne deux fichiers en mode ASCII et tente de les resynchroniser apres detection d'une difference. C'est le mode de comparaison par defaut des fichiers qui ne portent pas l'extension .EXE, .COM, .SYS, .OBJ, .LIB ou .BIN.

/LBn

Definit le nombre de lignes de la memoire tampon interne, 100 etant la valeur par defaut. Si les fichiers compares comportent un nombre plus eleve de lignes differentes consecutives, FC annule la comparaison.

/N

Affiche les numeros de ligne durant la comparaison ASCII.

/T

Ne considere pas les tabulations comme la somme de plusieurs espaces. Par defaut, les tabulations sont traitees comme des espaces, avec un taquet tous les huit caracteres.

/W

Compresse les blancs (tabulations et espaces) durant la comparaison. Si une ligne contient beaucoup de tabulations ou d'espaces consecutifs, le commutateur /W les considere comme un seul et meme espace. Utilise avec ce commutateur, FC ignore (et ne compare pas) les blancs au debut et a la fin d'une ligne.

/nnnn

Specifie le nombre de lignes consecutives qui doivent etre identiques pour que FC estime necessaire de resynchroniser les fichiers. Si le nombre de lignes identiques dans les fichiers est inferieur a ce nombre, FC les considere comme differentes. La valeur par defaut est 2.

/B

Compare les fichiers en mode binaire. FC compare les deux fichiers octet par octet et ne les resynchronise pas lorsqu'il decele une difference. C'est le mode de comparaison par defaut des fichiers qui portent l'extension .EXE, .COM, .SYS, .OBJ, .LIB ou .BIN.

Releve des differences entre deux fichiers compares en mode ASCII

Lorsque vous operez une comparaison ASCII a l'aide de la commande FC, le DOS signale les differences entre deux fichiers en affichant successivement le nom du premier fichier, la derniere ligne identique dans les deux fichiers, les lignes du premier fichier qui different et la premiere ligne identique dans les deux fichiers. Il affiche ensuite, dans l'ordre, le nom du second fichier, la derniere ligne identique dans les deux fichiers, les lignes du second fichier qui different et la prochaine ligne identique dans les deux fichiers.

Utilisation du commutateur /B pour les comparaisons binaires

Voici comment le DOS signale les differences decelees lors d'une comparaison binaire:

xxxxxxxx: yy zz

xxxxxxxx correspond a l'adresse hexadecimale relative de la paire d'octets compares, par rapport au debut du fichier. Les adresses commencent a 00000000; les valeurs hexadecimales de yy et zz representent respectivement les octets differents dans fichier1 et fichier2.

Utilisation de caracteres generiques

Vous pouvez utiliser des caracteres generiques (? et *) pour specifier des noms de fichiers avec la commande FC. Si fichier1 comporte un caractere generique, FC compare tous les fichiers concernes avec fichier2. Si fichier2 comprend un caractere generique, FC utilise la valeur correspondante de fichier1.

Occupation memoire

La comparaison de deux fichiers ASCII necessite une memoire tampon pouvant stocker au moins 100 lignes. Si le volume des fichiers est superieur a l'espace disponible, la commande FC compare les fichiers par parties pouvant etre chargees dans la memoire tampon. Si elle ne detecte pas de correspondances, elle s'arrete et affiche le message:

Echec de resynchronisation. Fichiers trop differents.

Lors d'une comparaison binaire de deux fichiers trop volumineux pour la memoire disponible, FC les compare dans leur integralite en recouvrant la partie residant en memoire par la partie suivante du disque. Le resultat est le meme que pour les fichiers qui tiennent dans la memoire disponible.

Exemples

Si vous voulez operer une comparaison ASCII entre deux fichiers texte appeles MENSUEL.RPT et VENTES.RPT et afficher les resultats sous forme abregee, tapez: fc /a mensuel.rpt ventes.rpt

Pour operer une comparaison binaire entre deux fichiers de commandes appeles BENEF.BAT et GAINS.BAT, tapez:

fc /b benef.bat gains.bat Vous obtiendrez ce type de resultat:

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: GAINS.BAT plus long que BENEF.BAT

Si les fichiers BENEF.BAT et GAINS.BAT sont identiques, FC affiche: FC: aucune difference trouvee

Pour comparer chaque fichier .BAT du repertoire en cours au fichier NOUVEAU.BAT, tapez: fc *.bat nouveau.bat

Pour comparer le fichier NOUVEAU.BAT du lecteur C: au fichier NOUVEAU.BAT du lecteur D:, tapez: fc c:nouveau.bat d:*.bat

Pour comparer chaque batch du repertoire racine du lecteur C: au fichier du meme nom dans le repertoire racine du lecteur D:, tapez: fc c:\*.bat d:\*.bat

Retour en haut

Retour au sommaire de la rubrique

Retour au debut