fc

Compare deux fichiers ou ensembles de fichiers, et affiche les différences entre eux.

Syntaxe

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>

Paramètres

Paramètre Description
/a Raccourcit la sortie d’une comparaison ASCII. Au lieu d’afficher toutes les lignes qui sont différentes, fc affiche uniquement la première et la dernière ligne pour chaque ensemble de différences.
/b Compare les deux fichiers en mode binaire, octet par octet, et ne tente pas de resynchroniser les fichiers après avoir trouvé une incohérence. Il s’agit du mode par défaut pour comparer des fichiers ayant les extensions suivantes : .exe, .com, .sys, .obj, .lib ou .bin.
/C Ignore la casse des lettres.
/l Compare les fichiers en mode ASCII, ligne par ligne, et tente de resynchroniser les fichiers après avoir trouvé une incohérence. Il s’agit du mode par défaut pour comparer les fichiers, à l’exception de ceux ayant les extensions suivantes : .exe, .com, .sys, .obj, .lib ou .bin.
/lb<n> Définit le nombre de lignes de la mémoire tampon de ligne interne sur N. La longueur par défaut de la mémoire tampon de ligne est de 100 lignes. Si les fichiers que vous comparez ont plus de 100 lignes différentes consécutives, fc annule la comparaison.
/n Affiche les nombres de lignes lors d’une comparaison ASCII.
/off[line] N’ignore pas les fichiers dont l’attribut offline est défini.
/t Empêche fc de convertir des tabulations en espaces. Le comportement par défaut consiste à traiter les tabulations comme des espaces, avec des arrêts à chaque huitième position de caractère.
/U Compare des fichiers sous forme de fichiers texte Unicode.
/w Compresse les espaces blancs (c’est-à-dire les tabulations et les espaces) pendant la comparaison. Si une ligne contient de nombreux espaces ou tabulations consécutifs, /w traite ces caractères comme un espace unique. En cas d’utilisation avec /w, fc ignore les espaces blancs au début et à la fin d’une ligne.
/<nnnn> Spécifie le nombre de lignes consécutives qui doivent correspondre à la suite d’une incohérence, avant que fc n’envisage une resynchronisation des fichiers. Si le nombre de lignes correspondantes dans les fichiers est inférieur à nnnn, fc affiche les lignes correspondantes en tant que différences. La valeur par défaut est 2.
[<drive1>:][<path1>]<filename1> Spécifie l’emplacement et le nom du premier fichier ou ensemble de fichiers à comparer. filename1 est obligatoire.
[<drive2>:][<path2>]<filename2> Spécifie l’emplacement et le nom du second fichier ou ensemble de fichiers à comparer. filename2 est obligatoire.
/? Affiche l'aide à l'invite de commandes.

Notes

  • Cette commande est implémentée par c:\WINDOWS\fc.exe. Vous pouvez utiliser cette commande dans PowerShell, mais veillez à indiquer le nom complet de l’exécutable (fc.exe), car « fc » est également un alias pour Format-Custom.

  • Lorsque vous utilisez fc pour une comparaison ASCII, fc affiche les différences entre deux fichiers dans l’ordre suivant :

    • Nom du premier fichier

    • Lignes de filename1 qui diffèrent entre les fichiers

    • Première ligne correspondante dans les deux fichiers

    • Nom du deuxième fichier

    • Lignes de filename2 qui diffèrent

    • Première ligne correspondante

  • /b affiche les incohérences détectées lors d’une comparaison binaire dans la syntaxe suivante :

    \<XXXXXXXX: YY ZZ>

    La valeur de XXXXXXXX spécifie l’adresse hexadécimale relative pour la paire d’octets, mesurée à partir du début du fichier. Les adresses commencent à 00000000. Les valeurs hexadécimales pour YY et ZZ représentent les octets incohérents, respectivement par rapport à filename1 et filename2.

  • Vous pouvez utiliser des caractères génériques (* et ?) dans filename1 et filename2. Si vous utilisez un caractère générique dans filename1, fc compare tous les fichiers spécifiés au fichier ou à l’ensemble de fichiers spécifié par filename2. Si vous utilisez un caractère générique dans filename2, fc utilise la valeur correspondante de filename1.

  • Lors de la comparaison de fichiers ASCII, fc utilise une mémoire tampon interne (suffisamment grande pour contenir 100 lignes) comme stockage. Si les fichiers sont plus volumineux que la mémoire tampon, fc compare ce qu’il peut charger dans la mémoire tampon. Si fc ne trouve pas de correspondance dans les parties chargées des fichiers, il s’arrête et affiche le message suivant :

    Resynch failed. Files are too different.

    Lorsque vous comparez des fichiers binaires qui sont plus volumineux que la mémoire disponible, fc compare entièrement les deux fichiers, en superposant les parties en mémoire avec les parties suivantes du disque. La sortie est la même que pour les fichiers qui tiennent complètement en mémoire.

Exemples

Pour effectuer une comparaison ASCII de deux fichiers texte, monthly.rpt et sales.rpt, et afficher les résultats au format abrégé, tapez :

fc /a monthly.rpt sales.rpt

Pour effectuer une comparaison binaire de deux fichiers de commandes, profits.bat et earnings.bat, tapez :

fc /b profits.bat earnings.bat

Des résultats semblables aux suivants s’affichent :

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

Si les fichiers profits.bat et earnings.bat sont identiques, fc affiche le message suivant :

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

Pour comparer chaque fichier .bat dans le répertoire actif au fichier new.bat, tapez :

fc *.bat new.bat

Pour comparer le fichier new.bat sur le lecteur C au fichier new.bat sur le lecteur D, tapez :

fc c:new.bat d:*.bat

Pour comparer chaque fichier de commandes du répertoire racine sur le lecteur C au fichier portant le même nom dans le répertoire racine sur le lecteur D, tapez :

fc c:*.bat d:*.bat