Section courante

A propos

Section administrative du site

FC

Comparaison du fichier
Zenith Data Systems Microsoft MS-DOS 2 Externe

Syntaxe

FC [/x] filespc1 filespc2

Paramètres

Nom Description
filespc1 Ce paramètre permet d'indiquer la spécification du fichier du premier fichier des deux que vous souhaitez comparer.
filespc2 Ce paramètre permet d'indiquer la spécification du fichier du deuxième fichier des deux que vous souhaitez comparer.
/B Ce paramètre permet d'indiquer la comparaison binaire : Forces FC à effectuer une comparaison binaire octet par octet des fichiers spécifiés. Aucune tentative n'est faite de resynchroniser après (si) un déplacement est trouvé.
/C Ce paramètre permet d'indiquer qu'il faut ignoré les cas des lettres : provoque l'ignorance du cas des lettres dans les fichiers spécifiés pendant la comparaison. Toutes les lettres du fichier sont considérées comme des majuscules.
/# Ce paramètre permet d'indiquer le nombre de lignes pour la correspondance - Spécifie le nombre (de 1 à 9) des lignes requises pour correspondre aux fichiers comparés à considérer à nouveau comme correspondant après une différence.
/W Ce paramètre permet d'indiquer que de compressés les blancs : provoquent la compression de l'espace blanc (tabulations ou espaces) pendant la comparaison des fichiers, de sorte que plusieurs espaces contiguës ou tabulations dans une ligne donnée sont considérés comme un seul espace.

Description

Cette commande permet d'effectuer la comparaison de deux fichiers.

Remarque

Concepts préliminaires

Il est parfois utile de comparer les fichiers sur vos disques. Si vous avez copié un fichier et que vous souhaitez comparer le fichier d'origine et la copie pour voir laquelle est la plus récente, vous pouvez utiliser l'utilitaire FC (comparaison de fichiers).

La commande FC compare le contenu de deux fichiers que vous spécifiez. Les fichiers peuvent être sur les mêmes disques ou différents et/ou dans les mêmes répertoires ou différents. Essentiellement, FC compare le deuxième fichier que vous spécifiez au premier fichier que vous spécifiez. Si des différences entre les deux fichiers sont trouvées, FC pointe vers la place dans le premier fichier où les informations commencent à différer et répertorie les différences dans les fichiers. Les différences entre les deux fichiers peuvent être sorties sur l'écran d'affichage ou vers un fichier. Vous pouvez ensuite vérifier pour voir quelles sont les différences afin que vous puissiez décider quel fichier vous souhaitez enregistrer.

Vous pouvez utiliser FC pour comparer les fichiers source (fichiers contenant des instructions source d'un langage de programmation) ou des fichiers binaires (fichiers sorties par un assembleur, liaison de programme ou un compilateur de langage de haut niveau). La comparaison peut être faite de deux manières : une ligne par ligne ou sur une base octet par octet.

Lorsque vous effectuez une comparaison ligne par ligne, FC isole les blocs de lignes dans les fichiers différents et affiche ces blocs de lignes. Lors de l'exécution d'une comparaison d'octets par octets, FC isole les octets individuels dans les fichiers différents et affiche ces octets. FC effectue normalement des comparaisons ligne par ligne pour les fichiers source; et les comparaisons d'octets par octets pour les fichiers binaires. Cependant, vous pouvez forcer une comparaison binaire de n'importe quel fichier au moyen d'un commutateur facultatif. D'autres caractéristiques opérationnelles peuvent également être sélectionnées par des commutateurs en option. Les commutateurs pris en charge sont décrits sous la ligne de commande d'entrée dans cette page.

Lors de l'exécution normale d'une comparaison ligne par ligne, la commande FC rapporte les différences entre les deux fichiers que vous spécifiez en affichant le premier nom de fichier suivi des lignes (le cas échéant) qui différentes entre les fichiers, suivis de la première ligne à correspondre en Les fichiers après une différence ont été trouvés. La commande FC affiche ensuite des informations similaires pour le deuxième fichier. Autrement dit, la commande FC affiche le deuxième nom de fichier suivi des lignes (le cas échéant) qui diffèrent entre les fichiers, suivis de la première ligne à correspondre dans les fichiers après une différence. La valeur par défaut du nombre de lignes devant correspondre (après une différence a été trouvée) afin que FC considère les fichiers comme la correspondance est 3. Cette valeur peut être modifiée avec le commutateur /x.

Un exemple montrant le format du rapport de différence est indiqué ci-dessous :

     ...
     ...

----------<filespc1>
<différence>
<1ère ligne pour faire correspondre le file2 dans le file1>

----------<filespc2>
<différence>
<1ère ligne pour faire correspondre le file2 dans le file1>

     ...
     ...

Tout au long de l'opération de comparaison de fichiers, FC répertorie chaque différence trouvée dans le format illustré ci-dessus. S'il y a trop de différences (c'est-à-dire si les différences trouvées impliquent trop de lignes), FC rapportera simplement que les fichiers sont différents puis se terminent. C'est-à-dire que FC affiche :

***Files are Different***

Et puis le prompt système est à nouveau affichée.

Lors de l'exécution d'une comparaison des fichiers source, FC utilise toute la mémoire disponible comme espace tampon pour maintenir les fichiers source. Si les fichiers source sont plus grands que la mémoire disponible que la mémoire disponible, FC ne compare que la plupart des fichiers qu'il est en mesure de se charger dans la mémoire. Si aucune correspondance n'est trouvée dans les parties des fichiers en mémoire, FC rapporte que les fichiers sont différents puis se terminent. Que FC détermine ou non que les fichiers correspondent, aucun contenu des fichiers source n'est chargé en mémoire pour la comparaison.

Si les fichiers binaires sont comparés et que les fichiers sont plus grands que la mémoire disponible, FC utilise également la mémoire disponible comme espace tampon pour contenir les fichiers comparés. Contrairement aux fichiers source, cependant, des parties supplémentaires des fichiers binaires seront lues dans la mémoire en séquence selon les besoins de FC jusqu'à ce que les fichiers entiers aient été comparés. Toute différence est la sortie à l'écran (ou à un fichier, si vous redirigez la sortie) de la même manière que pour les comparaisons de fichiers binaires s'adaptant à la mémoire disponible.

Lorsque l'exécution de la comparaison est terminée, FC sort et le prompt système s'affiche.

Entrée de la ligne de commande

Les paramètres de ligne de commande FC sont décrits dans les paragraphes suivant. Au minimum, vous devez toujours saisir le nom de commande (FC) et deux spécifications de fichiers pour les fichiers que vous souhaitez comparer. Facultativement, vous pouvez spécifier un ou plusieurs des commutateurs pris en charge pour déterminer certaines des caractéristiques opérationnelles de FC.

Spécifications de fichier

Les fichiers que vous spécifiez à titre de comparaison peuvent être sur les mêmes disques ou différents et/ou dans les mêmes répertoires ou différents. Pour chaque fichier que vous souhaitez comparer, vous devez saisir la spécification du fichier (filespc1 et filespc2) pour FC pour localiser le fichier. Si un fichier n'est pas sur le disque par défaut, vous devez inclure le nom de l'unité de disque identifiant le disque sur lequel le fichier est situé. Si un fichier n'est pas dans le répertoire actuel du disque par défaut ou spécifié, vous devez inclure le nom de chemin du répertoire dans lequel le fichier est situé. Les noms de fichiers que vous spécifiez doivent être spécifiques; Les caractères génériques ne peuvent pas être utilisés dans les spécifications du fichier.

Les paramètres filespc1 et filespc2 doivent être séparés les uns des autres et des autres paramètres de ligne de commande par un espace ou un délimiteur MS-DOS équivalent. Tout ce qui est entré sur la ligne de commande en suivant filespc2 sera ignoré.

Commutateurs

Un ou plusieurs commutateurs optionnels peuvent être entrés dans le cadre d'une ligne de commande FC. Le(s) commutateur(s) doivent être entré immédiatement après le nom de commande, avant la saisie des paramètres filespc1 et filespc2. Si des commutateurs sont entrés après les spécifications du fichier, ils seront ignorés. Aucun délimiteur autre que le caractère de commutateur MS-DOS (/) normalement entré dans la partie de chaque commutateur n'est requis entre tous les commutateurs que vous entrez et le nom de commande.

Les commutateurs sont fournis afin que vous puissiez forcer une comparaison binaire des fichiers, faire ignorer le boîtier de lettres FC lors de la comparaison des fichiers, de la compression de l'espace blanc de FC dans les lignes ou spécifiez le nombre de lignes devant correspondre (après une différence trouvée) afin que FC considère que les fichiers correspondent.

Les valeurs par défaut de l'opération FC lorsqu'aucun commutateur n'est utilisé est le suivant :

/B - Binaire

Utilisez le commutateur /B pour forcer une comparaison binaire des fichiers spécifiés. Dans une comparaison binaire, les fichiers sont comparés octet par octet, et aucune tentative n'est faite pour resynchroniser les fichiers si une différence est trouvée. Le rapport de différence produit dans une comparaison binaire prend la forme suivante :

--ADDRS----filespc1----filespc2
xxxxxxxx   yy          zz

Nom Description
xxxxxxxx Ce paramètre permet d'indiquer l'adresse relative de la paire d'octets dans les fichiers (les adresses commencent à 00000000 au début des fichiers).
yy Ce paramètre permet d'indiquer l'octet de déplacement de filespc1.
zz Ce paramètre permet d'indiquer l'octet de déplacement de filespc2.

/C - Ignoré les cases

Utilisez ce commutateur lorsque vous comparez les fichiers source afin que FC ignorer le cas des lettres, de sorte qu'une lettre en majuscules donnée correspondra à la même lettre en minuscules. Essentiellement, ce commutateur fait lire toutes les lettres des fichiers en majuscules.

Par exemple, lorsque le commutateur /C est utilisé, la ligne :

Beaucoup PLUS de donnees NE SONT PAS TROUVEES

correspondra à la ligne :

beaucoup plus de donnees ne sont pas trouvees

Il est souvent utile d'utiliser les commutateurs /C et /W (blancs compressés) ensemble. Par exemple, vous avez spécifié les deux commutateurs lors de l'appel de FC, la ligne suivante :

   Des DONNEES sont trouvees   

correspondra à la ligne :

Des DONNEES sont trouvees

/# - Nombre de lignes requises pour la correspondance

Utilisez ce commutateur lors de la comparaison des fichiers source pour spécifier le nombre de lignes qui doivent correspondre après une différence pour que FC considère que les fichiers sont une correspondance dans son ensemble. Si vous n'utilisez pas ce commutateur, la valeur par défaut de trois lignes est utilisée. La variable # peut être spécifiée comme n'importe quelle valeur de 1 à 9.

/W - Blancs compressés

Utilisez ce commutateur lorsque vous comparez les fichiers source pour provoquer la compression de "blancs" (plusieurs espaces ou tabulations) dans les lignes de telle sorte que plusieurs espaces ou tabulations contigus sont considérés comme un seul espace. Notez que bien que FC compresse les blancs lorsque ce commutateur sera utilisé, il ne les ignorera pas à moins qu'ils ne soient au début et / ou à la fin d'une ligne. Par exemple, si vous avez utilisé le commutateur /W, la ligne :

   Plus de donnees sont trouvees   

correspondra à la ligne :

Plus de donnees sont trouvees

et la ligne :

   Plus        de donnees sont        trouvees   

Cependant, les trois lignes ci-dessus ne correspondront pas à la ligne suivante :

   Plusdedonnees sont trouvees   

Exemples

Exemple 1

Supposons que ces deux fichiers ASCII soient sur le disque par défaut :

ALPHA.ASM BETA.ASM
Fichier A Fichier B
A A
B B
C C
D G
E H
F I
G J
H 1
I 2
M P
N Q
O R
P S
Q T
R U
S V
T 4
U 5
V W
W X
W X
X Y
Y Z
Z  

Pour comparer les deux fichiers et afficher les différences sur l'écran du terminal, entrez :

FC ALPHA.ASM BETA.ASM

au prompt du système et appuyez sur RETURN. La commande FC compare ALPHA.ASM avec BETA.ASM et affiche les différences sur l'écran de terminal. Tous les autres valeurs par défauts restent intacts. (Les valeurs par défaut sont les suivantes: N'utilisez pas de tabulations, d'espaces ou de commentaires pour les correspondances; et faites une comparaison source sur les deux fichiers.)

La sortie de la comparaison apparaîtra comme suit (les notes n'apparaissent pas) :

----------ALPHA.ASM
D
E
F
----------BETA.ASM
G

------------------------------

Le fichier ALPHA contient DEFG, le BETA contient G.

----------ALPHA.ASM
M
N
O
P

----------BETA.ASM
J
1
2
P

------------------------------

Le fichier ALPHA contient MNO où le BETA contient J12.

----------ALPHA.ASM
W

----------BETA.ASM
4
5
W

------------------------------

Le fichier ALPHA contient W où la BETA contient 45W.

Exemple 2

En utilisant les deux mêmes fichiers source que décrit dans l'exemple 1, vous pouvez imprimer les différences sur l'imprimante. Dans cet exemple, supposons que vous souhaitiez spécifier que quatre lignes successives doivent être les mêmes pour constituer une correspondance. Vous pourriez entrer :

FC /4 ALPHA.ASM BETA.ASM >PRN

au prompt du système et appuyez sur RETURN. Les éléments suivants seraient affichés :

----------ALPHA.ASM
D
E
F
G
H
I
M
N
O
P

----------BETA.ASM
G
H
I
J
1
2
P
------------------------------

P est le premier d'une chaîne de caractères de 4 correspondances.

----------ALPHA.ASM
W

----------BETA.ASM
4
5
W

W est le premier d'une chaîne de caractères de 4 correspondances.

L'utilisation du symbole > dans l'exemple précédent, pour diriger la sortie vers l'imprimante (PRN), est une instance de redirection d'entrée/sortie. Cette procédure est discutée dans les Concepts avancés de cette page.

Exemple 3

En utilisant les deux mêmes fichiers source utilisés dans l'exemple précédent, supposés que vous souhaitiez forcer une comparaison binaire et afficher les différences sur votre écran. Vous entreriez :

FC /B ALPHA.ASM BETA.ASM >PRN

au prompt du système et appuyez sur RETURN. Le commutateur /B force une comparaison binaire. Ce commutateur et tout autre doivent être dactylographiés avant les noms de fichiers dans la ligne de commande FC. L'affichage suivant apparaîtrait :

--ADDRS----F1---F2--
00000009   44   47
0000000C   45   48
0000000F   46   49
00000012   47   4A
00000015   48   31
00000018   49   32
0000001B   4D   50
0000001E   4E   51
00000021   4F   52
00000024   50   53
00000027   51   54
0000002A   52   55
0000002D   53   56
00000030   54   34
00000033   55   35
00000036   56   57
00000039   57   58
0000003C   58   59
0000003F   59   5A
00000042   5A   1A

Concepts avancés

L'une des fonctionnalités les plus utiles de la commande FC est la possibilité de rediriger la sortie FC vers un fichier. Habituellement, les différences et les correspondances entre les deux fichiers que vous spécifiez seront affichés sur votre écran. Cependant, vous pouvez rediriger la sortie vers un fichier en utilisant la redirection d'entrée/sortie du MS-DOS.

Pour comparer File1 et File2 et envoyer la sortie FC à un fichier nommé DIFFER.TXT dans le répertoire actuel du disque par défaut, vous pouvez entrer :

FC File1 File2 >DIFFER.TXT

au prompt du système et appuyez sur RETURN. Les différences et les correspondances entre File1 et File2 seront placées dans DIFFER.TXT sur l'unité de disque par défaut.

Messages d'erreur

Bad file, Read error in:filespec

Explication : Le FC n'a pas pu lire l'intégralité du fichier. Le fichier peut être mauvais. Vous devez vérifier le fichier avec CHKDSK.

File not found:filespec

Explication : La commande FC n'a pas pu trouver le fichier que vous avez spécifié. Le fichier n'est probablement pas sur le disque dans l'unité de disque désigné ou n'est pas dans le répertoire spécifié. Vérifiez la spécification du fichier que vous avez saisi et assurez-vous que le disque approprié est disponible, puis réentrez la commande.

Incorrect DOS version

Explication : Vous exécutez FC sous une version de MS-DOS n'étant pas la version 2 ou supérieure. Vous devez utiliser une version compatible de FC.

Invalid number of parameters

Explication : Vous avez spécifié le mauvais nombre de paramètres sur la ligne de commande FC. Entrenez, en utilisant le nombre approprié de paramètres.

Invalid parameter:x

Explication : L'un des commutateurs (illustré dans les messages d'erreur à la place du x) que vous avez spécifié n'est pas valide. Définissez la commande en utilisant un commutateur valide.



Dernière mise à jour : Mercredi, le 24 Août 2022