Comment comparer deux fichiers avec la commande fc sous Windows

Dernière mise à jour: 14/08/2025
Auteur: Isaac
  • La commande fc compare les fichiers en mode texte (ASCII/Unicode) ou binaire avec des options permettant d'ignorer la casse, les espaces et les tabulations.
  • Paramètres clés : /a (sortie abrégée), /b (binaire), /w (compresser les espaces), /n (numéros de ligne), /lb (tampon) et / (resynchronisation).
  • Il prend en charge les caractères génériques et renvoie des codes de sortie (0 égal, 1 différent, 2 erreur) ; les alternatives incluent Windiff et Comp.

Comparer des fichiers avec la commande fc sous Windows

Si vous travaillez quotidiennement avec Windows et vous êtes préoccupé par la détection des changements entre les versions de documents, de scripts ou de binaires, la commande fc C'est un outil efficace qui vous fait gagner du temps en montrant avec précision où deux fichiers diffèrent. Cet utilitaire intégré compare le contenu et met en évidence les divergences dans les modes texte (ASCII/Unicode) et octet (binaire)..

Au-delà de l'utilisation de base, FC offre des paramètres puissants pour adapter la comparaison à vos besoins : ignorer la casse, compresser les espaces, lignes numériques, gérer les onglets, travailler avec des caractères génériques o ajuster la resynchronisation. En maîtrisant ces options, vous serez en mesure d’évaluer les différences réelles et d’éviter les faux positifs dus au formatage ou à l’espacement..

Qu'est-ce que le FC et où est-il disponible ?

L'objectif du fc est direct : comparer deux fichiers ou ensembles de fichiers et afficher les différencesIl s'agit d'un outil de l'écosystème Windows qui se présente sous la forme d'un exécutable traditionnel et qui, sur de nombreux ordinateurs, se trouve dans C:\WINDOWS\fc.exe. En PowerShell Il existe un alias appelé fc qui pointe vers Format-Custom; par conséquent, pour éviter les conflits dans PowerShell, il est conseillé d'exécuter explicitement fc.exe lorsque vous souhaitez comparer des fichiers.

Diverses sources indiquent que fc est disponible en Windows 12, 11, 10 et dans les éditions serveur telles que MS Server 2025, 2022 ou 2019. De plus, il existe des implémentations dans d'autres environnements tels que FreeDOS, avec un ensemble d'options élargi et certains de ses propres comportements que nous aborderons également ci-dessous.

Utilisation de la commande fc pour comparer des fichiers

Syntaxe de la commande fc

La syntaxe canonique de Windows couvre les comparaisons en texte et en binaire. Vous trouverez deux formes principales, une pour le mode ASCII/Unicode et une pour le mode binaire:

fc /a     ]     <archivo1> <archivo2>
fc /b <archivo1> <archivo2>

En termes pratiques, fichier1 y fichier2 Ils sont obligatoires, avec leurs itinéraires le cas échéant, et à partir de là, vous choisissez les options qui correspondent à votre comparaison. Pour afficher l'aide intégrée, utilisez fc /? dans la console commandes (CMD).

Paramètres et options les plus utiles (Windows)

L'ensemble des modificateurs permet d'affiner l'analyse. Ce sont les plus pertinents dans le FC Windows documenté:

  • /a: sortie abrégée pour les comparaisons de texte. Au lieu d'énumérer toutes les lignes distinctes, affiche uniquement la première et la dernière ligne de chaque bloc de différence.
  • /b: mode binaire, compare octet par octet sans resynchronisation après la première non-concordanceIl s'agit du mode par défaut si les extensions sont .exe, .com, .sys, .obj, .lib ou .bin.
  • /c: ignore les différences de casse lors de la comparaison de textes.
  • /l: mode texte ASCII, compare ligne par ligne et tente de resynchroniser après une incompatibilitéIl s'agit du mode par défaut pour les fichiers texte.
  • /kg: définit la taille du tampon de ligne interne en nombre de lignes. Par défaut, elles sont 100 lignes; s'il y a plus de 100 lignes consécutives différentes, Le FC annule la comparaison.
  • /n: affiche les numéros de ligne lors d'une comparaison ASCII.
  • / off: inclut les fichiers avec l'attribut « hors ligne », qui sont par ailleurs omis.
  • /t: ne convertit pas les tabulations en espacesLe comportement par défaut consiste à traiter les tabulations comme des espaces avec un arrêt toutes les 8 colonnes.
  • /u: compare les fichiers en tant que texte Unicode.
  • /w: compresse les espaces blancs (tabulations et espaces) lors de la comparaison. Avec /w, fc traite les longues séquences d'espaces comme une seule ignore les espaces au début et à la fin de la ligne.
  • /: nombre de lignes consécutives qui doivent correspondre après une différence pour considérer que les fichiers ont été à nouveau synchronisés. la valeur par défaut est 2.
  • Itinéraires et noms (archives): indique l'emplacement des fichiers à comparer ; les deux noms sont obligatoires.
  • /?: afficher l'aide sur la console.
  Comment supprimer le mode de compatibilité dans Word dans toutes les versions étape par étape

Lorsque vous faites une comparaison ASCII, fc formate la sortie avec un modèle spécifique afin que vous puissiez comprendre en un coup d'œil ce qui a changé. L'ordre typique est : premier nom de fichier, lignes distinctes du premier, première ligne qui correspond aux deux, deuxième nom de fichier, lignes distinctes du deuxième et première ligne qui correspond à nouveau..

En comparaison binaires, les non-concordances sont affichées avec une adresse et un format d'octet différents. La notation que vous verrez suit le schéma:

<XXXXXXXX: YY ZZ>

Ici, XXXXXXXX est l'adresse relative en hexadécimal à partir du début du fichier, et YY/ZZ sont les différentes valeurs hexadécimales dans fichier1 y fichier2 respectivement. Les adresses commencent à 00000000 et avancent à mesure que fc parcourt les octets.

Caractères génériques, tampons et messages spéciaux

Le FC admet farceurs (* y ?) dans les noms de fichiers. Si vous utilisez un caractère générique dans le premier argument, comparera tous les fichiers qui correspondent au modèle par rapport au fichier (ou à l'ensemble) spécifié dans le deuxième argument. Si le caractère générique est dans le deuxième argument, fc réutilise le nom correspondant du premier argument..

Pour les comparaisons ASCII, fc utilise un tampon interne capable de contenir 100 lignes Par défaut. Si les fichiers dépassent cette plage sans pouvoir se resynchroniser avec les correspondances, fc s'arrête et s'affiche:

Resynch failed. Files are too different.

Lors de la comparaison de fichiers binaires plus grand que la mémoire disponible, fc n'échoue pas : traite les deux parties, chevauchant la partie suivante en mémoire et conserve le même rendement que s'ils s'adaptaient parfaitement.

Exemples pratiques d'utilisation

Comparer deux rapports de texte et afficher le résultat abrégé est aussi simple que d'exécuter : en mode ASCII avec résumé des blocs de différences:

fc /a monthly.rpt sales.rpt

Si vous voulez comparer deux fichiers batch en binaire et voyez les adresses où les octets diffèrent, essayez :

fc /b profits.bat earnings.bat

La sortie peut inclure des lignes telles que des adresses et des octets en hexadécimal, et si l'une est plus longue, un avertissement de ce type apparaîtra. FC : earnings.bat plus long que profits.bat. Si les deux fichiers sont identiques, fc indiquera qu'il n'y a aucune différence. avec un message similaire à :

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

Vous pouvez également référencer un fichier avec tous les fichiers .bat du répertoire courant:

fc *.bat new.bat

Ou comparez un fichier portant son nom sur un autre lecteur:

fc c:new.bat d:*.bat

Et pour faire correspondre par nom tous les fichiers .bat de la racine de C: avec ceux de D:

fc c:*.bat d:*.bat

Travailler à partir de CMD étape par étape

Si vous préférez une visite guidée, vous pouvez ouvrir le Symbole du système en tant qu'administrateur, déplacez-vous vers le dossier de travail et exécutez les comparaisons. Exemple:

  • Ouvrir CMD avec des autorisations élevées du moteur de recherche.
  • Accédez au dossier contenant les fichiers, par exemple : cd C:\Users\tuusuario\Downloads.
  • Comparer en mode normal (texte): fc archivo1.txt archivo2.txt.
  • Comparer en ASCII (ligne par ligne) : fc /L archivo1.txt archivo2.txt.
  • Voir les blocs récapitulatifs quand seule la première ligne change : fc /a archivo1.txt archivo2.txt.
  • Comparer en Unicode le cas échéant : fc /u archivo1.txt archivo2.txt.
  • Appliquer des caractères génériques Pour comparer plusieurs fichiers TXT avec un seul fichier : fc *.txt archivo1.txt.

Gardez à l'esprit que Si vous exécutez ces commandes dans PowerShell, pour éviter l'alias de Format-Custom, utiliser fc.exe explicitement (par exemple, fc.exe /a ...). De cette façon, vous vous assurez d'invoquer le comparateur de fichiers.

  Le son Dolby Atmos sur un téléphone Android ?

Différences clés : ASCII/Unicode vs. binaire

En mode ASCII o Unicode, fc comprend le concept de ligne et permet numérotez-les (/n), ignorer la casse (/c), espaces compacts (/w) ou respecter les onglets (/t). Ceci est idéal pour le code, les rapports, les configurations et tous les fichiers texte..

Mode binaire (/b) traite le fichier comme une séquence d'octets. Ne se resynchronise pas après la première non-concordance et constitue le moyen idéal pour vérifier que deux exécutables, bibliothèques ou autres binaires sont exactement les mêmes. Si vous avez besoin de valider l’intégrité octet par octet, c’est votre méthode..

En plus de choisir le mode, vous pouvez régler le resynchronisation dans les comparaisons de texte avec / exiger des lignes plus (ou moins) égales après un désalignement avant de réaligner. La valeur par défaut est 2.

Pour les comparaisons de pièces bruyantes, utilisez /w et vous oublierez les différences dues aux tabulations ou aux espaces supplémentaires, tandis que /t Cela vous aide lorsque vous souhaitez que les onglets soient comptés comme de vrais onglets. Ces deux options font une différence dans les fichiers à onglets ou ceux avec différentes indentations..

Résultats de vidage et fichiers volumineux

Lorsque la sortie est volumineuse, sa lecture dans la console peut s'avérer peu pratique. Redirige la sortie vers un fichier pour l'analyser calmement ou rechercher des modèles :

fc archivo1.txt archivo2.txt > diff.txt

Si vous enregistrez le rapport complet en diff.txt et vous pouvez l'ouvrir avec votre éditeur préféré, le partager ou le versionner. Cette astuce est particulièrement utile avec journaux ou des listes très longues.

Codes de sortie

Si vous appelez fc à partir de scripts ou de tâches automatisées, vous êtes intéressé par son code de sortie. Sur les fenêtres, les signes les plus courants sont :

Code de sortie Sens
0 Les fichiers sont identiques.
1 Les fichiers sont différents.
2 Une erreur s'est produite lors de la comparaison.

Dans la variante de FreeDOS d'autres sont documentés NIVEAU D'ERREUR supplémentaires liés à des paramètres non valides ou à des échecs lors de l'ouverture/localisation de fichiers. N’oubliez pas que la sémantique peut varier selon les plateformes..

Alternatives intégrées et services publics associés

En plus de fc, Windows dispose d'utilitaires supplémentaires qui peuvent être très utiles selon le scénario. Windiff.exe fournit une interface graphique pour visualiser les différences de texte et comparer visuellement les dossiers. Dans Windows 2000 et versions ultérieures, il était inclus dans Support\Tools sur le CD d'origine (installable avec setup.exe), et aussi dans Support.cab de chaque Service Pack. Dans Windows NT 4.0, il était distribué avec le kit de ressources.

  Comment activer ou bloquer l’accès à la caméra et au microphone dans Chrome

Avec Windiff, vous pouvez comparer deux fichiers ou des arborescences de répertoires entières, alternant entre un mode contour (résumé du statut) et un mode étendu (différences ligne par ligne). Les résultats sont codés par couleur., et à partir du menu, vous pouvez vous concentrer uniquement sur le fichier de gauche, le fichier de droite ou les deux. Il prend également en charge le lancement en ligne de commande et dispose d'un fichier d'aide (Windiff.hlp).

Un autre outil de console classique est Comp.exe, valable pour comparer des fichiers ASCII et binaires, même entre les équipes. Un exemple typique pour contraste des DLL entre les machines serieuse:

comp C:\Winnt\System32\*.dll \\DifferentComputerName\C$\Winnt\System32\*.dll

Si vous avez besoin de vérifier qu'un le fichier local et le fichier distant sont identiques et vous ne pouvez pas les comparer directement, une ressource historique consiste à utiliser un compresseur externe comme Pkzip.exe des deux côtés avec une compression nulle (pkzip -e0) et vérifiez le CRC32 avec pkzip -v. Si les CRC correspondent, les fichiers sont égaux.Les produits tiers comme celui-ci relèvent de la responsabilité de leurs fabricants.

Particularités de fc dans FreeDOS

La version fc en FreeDOS Il élargit la gamme des options et présente plusieurs nuances. En plus des commutateurs classiques (/A, /B, /C, /L, /N, /T, /U, /W), intègre d'autres éléments tels que :

  • /LBn: Définit le nombre maximal de lignes ASCII consécutives différentes dans n.
  • /Mn: limite de différence en binaire en n octets (par défaut 20, avec / M0 (pour illimité). Utiliser /M sans numéro équivaut à / M0.
  • /Q: n'affiche pas la liste détaillée des différences.
  • /R: montre un bref rapport final (toujours actif avec /S).
  • /S: descend dans les sous-répertoires pour élargir le champ de la comparaison.
  • /X: masque les lignes de contexte dans la comparaison de texte.
  • /nnn: définit le nombre minimum de lignes correspondantes consécutives pour resynchroniser.

Dans FreeDOS, fc est conscient des noms longs lorsque le système les prend en charge, et en mode binaire affiche les décalages, les valeurs hexadécimales et les caractères ASCII imprimables le cas échéant. Par défaut, il arrête la comparaison binaire après 20 différences., sauf si vous utilisez / M0Il existe une limitation connue : en mode texte, seul le les 32765 XNUMX premières lignes et le reste est ignoré. Les codes de sortie incluent une correspondance complète, des différences détectées, des paramètres non valides, un fichier introuvable ou des erreurs d'ouverture..

comparer deux fichiers dans Notepad++
Article connexe:
Comment comparer deux fichiers dans Notepad++