- El comando FC permite comparar uno o varios archivos en Windows en modo texto, Unicode o binario, indicando de forma precisa sus diferencias.
- Sus opciones (/A, /B, /C, /L, /U, /W, /LBn, /nnnn, /N, /OFFLINE, /T) ajustan cómo se interpretan y muestran las discrepancias.
- FC devuelve códigos de salida (0, 1 o 2) que facilitan su integración en scripts y automatizaciones para verificar cambios.
- Admite rutas, unidades y comodines para comparar lotes de ficheros y se puede usar tanto en CMD como en PowerShell invocando fc.exe.
Si trabajas con scripts, informes, código o simplemente quieres comprobar si un fichero se ha modificado, el comando fc de la consola de Windows es uno de esos recursos discretos pero tremendamente útiles que casi nadie conoce en profundidad. No necesitas instalar nada, ni recurrir a programas externos: viene incluido en el propio sistema operativo y está listo para usar desde el símbolo del sistema o desde PowerShell —puedes ver cómo comparar textos y archivos en PowerShell o CMD.
A következő sorokban meglátjuk cómo comparar archivos con el comando FC en Windows, qué modos de comparación ofrece (ASCII, Unicode y binario), qué significa cada parámetro de la sintaxis oficial de Microsoft, cómo interpretar los códigos de salida y varios ejemplos prácticos para tu día a día. Todo explicado paso a paso y con un lenguaje claro, pero sin dejarnos fuera ninguno de los detalles técnicos importantes.
Qué es el comando FC y para qué sirve
A parancs FC (File Compare) es una herramienta de línea de comandos de Windows que sirve para confrontar el contenido de dos archivos o de dos conjuntos de archivos y mostrar las diferencias que hay entre ellos. Es compatible con Windows 10, Windows 11, versiones anteriores y también con ediciones de servidor como Windows Server 2019, 2022 y posteriores.
Cuando ejecutas FC, el sistema analiza ambos ficheros y te indica si son idénticos, si difieren y en qué puntos lo hacen. Dependiendo de la opción elegida puede trabajar a nivel de texto (línea a línea), de texto Unicode o a nivel binario (byte a byte), de modo que se adapta tanto a archivos de texto plano (comparar archivos en Notepad) como a ejecutables, imágenes u otros formatos binarios.
Además, FC permite afinar el tipo de comparación gracias a varias opciones: puedes ignorar mayúsculas y minúsculas, obviar espacios en blanco, mostrar números de línea, limitar el número de diferencias consecutivas que admite el búfer interno, comparar archivos marcados como sin conexión, etc. Es mucho más flexible de lo que parece a primera vista.
Es importante tener en cuenta que, aunque se puede invocar desde PowerShell, en este entorno fc es un alias del cmdlet Format-Custom. Por eso, si quieres usar la herramienta de comparación de archivos clásica, debes escribir explícitamente fc.exe en lugar de solo fc, para asegurarte de que se ejecuta el binario correcto situado en C:\WINDOWS\fc.exe.
Sintaxis completa del comando FC
La sintaxis oficial del comando, según la ayuda de Microsoft Windows, contempla dos grandes modos de uso: comparación de texto (ASCII o Unicode) y comparación binaria. La forma general es la siguiente:
fc /a ] <archivo1> <archivo2>
fc /b <archivo1> <archivo2>
A gyakorlatban ez azt jelenti, hogy lehet añadir uno o varios modificadores delante de los nombres de archivo para ajustar el comportamiento de FC. Los parámetros de ruta y unidad son opcionales, así que basta con indicar el nombre del fichero si está en el directorio actual; si no, tendrás que escribir también la ruta o la unidad correspondiente.
La ayuda clásica que aparece al ejecutar fc /? en un símbolo del sistema en español resume la sintaxis de esta forma (formateada para que se entienda mejor):
FC ]
archivo1 archivo2
FC /B archivo1 archivo2
En todas estas variantes, fájl1 y fájl2 representan el primer y segundo archivo (o patrones de archivos) que se quieren comparar. También se admite el uso de caracteres comodín, lo que permite comparar grupos completos de ficheros en una sola orden.
Significado de cada parámetro del comando FC
El potencial del comando se entiende de verdad cuando ves para qué sirve cada opción. A continuación se describen de forma detallada todos los parámetros reconocidos por fc.exe tal como aparecen en la documentación de Microsoft y en la ayuda integrada.
Modos de comparación
/A – Activa un modo de salida abreviado para comparaciones de texto ASCII. En lugar de listar todas las líneas que difieren entre ambos archivos, FC solo muestra la primera y la última línea de cada grupo de diferencias. Es muy útil cuando hay bloques grandes de cambios y no quieres que la consola se llene de texto interminable.
/B – Fuerza una comparación binaria byte a byte. En este modo no se intenta volver a sincronizar el flujo de datos tras encontrar una discrepancia; se limita a ir avanzando y mostrando cada diferencia detectada. Es el modo predeterminado para archivos con extensiones típicamente binarias como .exe, .com, .sys, .obj, .lib o .bin, incluso aunque no especifiques el modificador /B explícitamente.
/L – Indica a FC que realice una comparación ASCII línea a línea, intentando siempre volver a sincronizar los archivos después de localizar una diferencia. Este es el modo por defecto para todos los archivos que no se consideran binarios (es decir, que no tienen las extensiones de ejecutables y similares que se han mencionado antes).
/U – Cambia el comportamiento de fc para tratar los ficheros como archivos de texto Unicode. Esta opción garantiza que se respete la codificación concreta (como UTF-16) y se interpreten correctamente los caracteres que vayan más allá del ASCII básico.
Control de mayúsculas, espacios y tabulaciones
/C – Hace que el comando ignore las diferencias de nagy és kisbetű. Si solo cambia el casing (por ejemplo, «Hola» frente a «HOLA»), se considerará que las líneas son equivalentes y no se marcarán como distintas. Ojo, esto afecta a letras, pero no a otros caracteres.
/W – Comprime y minimiza la importancia del üres hely, es decir, tabulaciones y espacios. Cuando una línea tiene una secuencia larga de espacios o tabuladores consecutivos, FC los tratará como si fueran un único espacio. Además, si usas /W, el comando ignora los espacios iniciales y finales de cada línea durante la comparación, lo que va genial para scripts o textos donde el indentado es irrelevante.
/T – Desactiva la conversión automática de tabulaciones en espacios. Por defecto, FC suele tratar las tabulaciones como si fuesen espacios con paradas cada ocho caracteres, pero con /T se respetan las tabulaciones tal cual, algo útil cuando la alineación exacta forma parte del contenido significativo.
Gestión del búfer interno y sincronización
/LB<n> – Ajusta el tamaño del búfer interno de líneas que utiliza FC cuando compara archivos de texto. Por defecto ese búfer permite manejar hasta 100 líneas consecutivas diferentes. Si los dos ficheros que estás comparando tienen más de 100 líneas seguidas sin coincidencias, el programa considera que los archivos se han alejado demasiado y interrumpe la comparación. Con este parámetro puedes subir o bajar ese límite, indicando un número concreto de líneas en lugar de 100.
/ – Especifica cuántas líneas consecutivas deben coincidir después de una discrepancia para que FC considere que ha conseguido re-sincronizar ambos archivos. El valor por defecto es 2. Si tras un bloque de diferencias encuentra menos de nnnn líneas seguidas idénticas, esas líneas se seguirán mostrando como parte de las diferencias, porque el programa asume que los archivos continúan desalineados.
Opciones de visualización y archivo sin conexión
/N – Provoca que se muestren los sorszámok al realizar una comparación ASCII. Verás, junto al contenido, la referencia de línea real de cada archivo, algo fundamental cuando después tienes que ir a editar a mano el fichero en cuestión.
/OFF – Por defecto, FC salta los archivos que tienen establecido el atributo «sin conexión» (offline). Con esta opción le indicas al programa que también compare ficheros marcados como offline, lo que puede ser útil en entornos donde hay datos almacenados en ubicaciones remotas o sistemas de archivos especiales.
Especificación de archivos y ayuda rápida
Además de las opciones anteriores, es importante comprender cómo se indican los archivos en la línea de comandos. La parte de la sintaxis formada por fájl1 y fájl2 meghatározza a primer y segundo archivo que FC va a comparar. Puedes usar rutas completas, rutas relativas y, si lo necesitas, letras de unidad diferentes.
El comando también admite personajes comodín: * y ?. Si incluyes un asterisco o un signo de interrogación en archivo1, FC tomará todos los ficheros que cumplan ese patrón y los comparará con el archivo o patrón indicado como archivo2. Y si el comodín lo usas en archivo2, la herramienta aplicará el nombre equivalente de archivo1 para completar el patrón restante y establecer las parejas que debe comparar.
Por último, el modificador /? no forma parte de las comparaciones como tal, sino que sirve para mostrar la ayuda integrada del comando en el símbolo del sistema. Ejecutar fc /? es la forma más rápida de repasar la sintaxis en el propio equipo, siempre en el idioma de tu instalación de Windows.
Cómo muestra FC las diferencias entre archivos
El formato de salida que ofrece FC varía ligeramente según estemos haciendo una comparación de texto ASCII/Unicode vagy comparación binaria. Entender ese formato te ayudará a leer más rápido los resultados y localizar la información que necesitas.
En una comparación ASCII estándar, después de ejecutar la orden, FC suele mostrar primero el nombre del primer archivo, seguido de las líneas de ese archivo que son distintas respecto al segundo fichero. A continuación aparece la primera línea que vuelve a coincidir en ambos archivos, que actúa como punto de re-sincronización. Después se repite la estructura con el segundo archivo: su nombre, las líneas diferentes y la primera línea coincidente posterior.
Cuando activas el modo binario con /B, la cosa cambia: cada discrepancia se presenta con una sintaxis de este tipo: \<XXXXXXXX: YY ZZ>. Az érték XXXXXXXXX es una dirección relativa en hexadecimal (empezando por 00000000) que indica la posición donde se ha encontrado el par de bytes distintos. A su lado se muestran YY y ZZ, que son los valores hexadecimales de los bytes no coincidentes pertenecientes a archivo1 y archivo2 respectivamente.
Si la comparación binaria llega al final de uno de los archivos y el otro todavía contiene datos, FC indicará que uno de los archivos es más largo que el otro. En cambio, si tras analizar todo el contenido no detecta ninguna diferencia, en pantalla aparecerá un mensaje del estilo FC: no differences encountered, o su equivalente localizado, dejando claro que ambos ficheros son idénticos.
En el modo ASCII, FC se apoya en su búfer interno de 100 líneas (a menos que lo hayas modificado con /LBn) para ir leyendo y cotejando por bloques. Si los archivos son tan distintos que dentro de ese bloque no consigue encontrar una coincidencia, mostrará el mensaje en inglés «Resynch failed. Files are too different.», avisando de que le ha sido imposible volver a alinear las dos secuencias de texto de forma razonable.
Códigos de salida del comando FC
Más allá del texto que ves por pantalla, el ejecutable fc.exe devuelve un código de salida al sistema operativo cuando termina. Este código es importantísimo cuando usas FC dentro de scripts por lotes o automatizaciones, porque te permite tomar decisiones en función del resultado de la comparación sin tener que analizar manualmente el texto devuelto.
La tabla de códigos de salida es muy sencilla y se mantiene constante:
- 0 – Los archivos comparados son azonos. No se ha encontrado ninguna diferencia en el contenido.
- 1 – Los archivos son különböző. Existe al menos una discrepancia entre archivo1 y archivo2.
- 2 – Se ha producido un error durante la comparación. Puede estar relacionado con permisos, archivos inaccesibles, problemas de lectura o parámetros inválidos.
En un archivo por lotes que quiera verificar cambios, puedes usar estos códigos con comandos como HA HIBASZINT o construcciones similares, de forma que el script actúe de un modo u otro según si los ficheros coinciden o no.
Ejemplos prácticos de uso de FC
Una vez comprendida la teoría, lo más útil es ver comandos concretos que puedes ejecutar en el día a día para comparar archivos en Windows. Estos ejemplos se apoyan directamente en la documentación oficial y en la ayuda de Windows.
Comparar dos archivos de texto en modo ASCII
Imagina que tienes dos informes, monthly.rpt y sales.rpt, y quieres ver en qué se diferencian, pero sin inundarte de líneas por pantalla. Podrías usar:
fc /a monthly.rpt sales.rpt
Con la opción /A, FC mostrará solo la primera y la última línea de cada bloque de diferencias, lo cual hace que el resultado sea mucho más legible cuando los cambios son extensos.
Comparar archivos binarios (por ejemplo, scripts por lotes)
Si lo que te interesa es verificar cambios a nivel de bytes en dos archivos por lotes, digamos profits.bat y earnings.bat, lo ideal es utilizar el modo binario:
fc /b profits.bat earnings.bat
Si existen diferencias, verás algo similar a varias líneas con direcciones en hexadecimal y pares de bytes distintos. Si en cambio los dos archivos coinciden al cien por cien, FC devolverá un mensaje indicando que no se han encontrado diferencias durante la comparación.
Comparar todos los archivos .bat con un fichero de referencia
En ocasiones interesa comparar varios ficheros de golpe contra una versión nueva que actúa como plantilla. Por ejemplo, si quieres cotejar cada archivo .bat del directorio actual con új.ütő, puedes emplear esta orden:
fc *.bat new.bat
FC se encargará de recorrer todos los archivos con extensión .bat que cumplan el patrón en el directorio actual y los enfrentará uno a uno con el archivo new.bat, mostrándote las diferencias de cada pareja.
Comparar archivos con el mismo nombre en distintas unidades
Otra situación bastante típica es comprobar si los archivos de la unidad C y la unidad D coinciden, por ejemplo cuando estás validando una copia de seguridad. Para revisar todos los .bat del directorio raíz de C: con sus equivalentes en D:, puedes escribir:
fc c:\*.bat d:\*.bat
En este caso, FC comparará cada archivo por lotes de la raíz de C: con el archivo que tenga el mismo nombre en la raíz de D:. Si solo quieres comparar un fichero concreto, bastaría con detallar el nombre en lugar del comodín *.bat.
Uso de FC en la consola de Windows y en PowerShell
La consola de comandos clásica de Windows, conocida como CMD, ofrece un entorno ideal para sacar partido al comando FC, pero también puedes usarlo desde PowerShell con un pequeño matiz. En CMD, basta con abrir una ventana (por ejemplo escribiendo cmd en el menú Inicio) y ejecutar las órdenes tal cual se muestran en los ejemplos anteriores.
En PowerShell, como ya se ha comentado, fc es un alias del cmdlet Format-Custom. Para evitar conflictos y asegurarte de que estás utilizando el comparador de archivos clásico de Windows, debes escribir fc.exe en lugar de simplemente fc. A partir de ahí, la sintaxis de los parámetros se mantiene igual que en CMD.
Muchos usuarios combinan FC con otros comandos frecuentes del entorno de consola, como CD (para cambiar de carpeta), DIR (para listar el contenido del directorio), TREE (para ver el árbol de subcarpetas), MOVE o ÁTNEVEZÉS (para mover o renombrar ficheros), y utilidades como FIND para buscar cadenas de texto dentro de uno o varios archivos.
Es totalmente factible integrar FC en scripts más complejos que realicen copias de seguridad, sincronicen directorios o verifiquen que los archivos de configuración no han sido modificados respecto a una plantilla original, aprovechando para ello tanto los códigos de salida como las opciones de comparación específicas.
Variantes simplificadas de uso de FC y opciones frecuentes
En algunos materiales de formación o apuntes de clase es habitual encontrar una versión simplificada de la sintaxis, en la que se destacan solo las opciones más usadas en el día a día. Por ejemplo, una forma abreviada muy habitual es:
fc archivo1 archivo2
En esta representación, /b sirve para indicar una comparación binaria, mientras que si se omite se asume que la comparación es de tipo texto (ASCII por defecto o Unicode si se especifica /U). Archivo1 y archivo2 siguen siendo los nombres de los ficheros que quieres comparar.
En muchos resúmenes también aparecen como opciones clave:/b para comparar byte a byte, /l para comparar línea a línea, /c para ignorar mayúsculas y minúsculas, y /s para comparar recursivamente subdirectorios. Conviene aclarar que la opción /s no forma parte de la sintaxis oficial de FC en Windows (suele pertenecer a otros comandos), pero se cita a veces en esquemas genéricos de comparación de archivos o en notas que mezclan distintos comandos.
En cualquier caso, usando siempre la ayuda integrada de fc /? y la documentación oficial te asegurarás de tener la lista correcta de parámetros para tu versión de Windows, sin confundir opciones de otros comandos con las de FC.
Vista toda la información anterior, el comando FC se revela como una herramienta sorprendentemente completa para quien necesite comprobar cambios entre archivos en Windows: permite comparar en modo texto, Unicode o binario, ajustar cómo se tratan los espacios, mayúsculas y tabulaciones, manejar ficheros sin conexión, controlar el búfer y la re-sincronización, interpretar códigos de salida en scripts y trabajar con patrones y comodines para lotes enteros de ficheros, todo ello sin recurrir a aplicaciones externas y aprovechando una utilidad integrada en el propio sistema operativo.
Szenvedélyes író a bájtok és általában a technológia világáról. Szeretem megosztani tudásomat írásban, és ezt fogom tenni ebben a blogban, megmutatom a legérdekesebb dolgokat a kütyükről, szoftverekről, hardverekről, technológiai trendekről stb. Célom, hogy egyszerű és szórakoztató módon segítsek eligazodni a digitális világban.


