ver nombres entre ejemplos directorios diferencias comparar como comando carpetas archivos windows cmd diff

windows - entre - comparar nombres de archivos



¿Cuál es el equivalente de Windows del comando diff? (13)

Sé que hay un post similar a este: here .
Intenté usar el comando comp como se mencionó, pero si tengo dos archivos, uno con datos como "abcd" y el otro con datos "abcde", simplemente dice que los archivos son de diferentes tamaños. Quería saber dónde difieren exactamente. En Unix, el simple diff me dice qué fila y columna, el comando comp en Windows funciona si tengo algo como "abd" y "abc". De otro modo no. ¿Alguna idea de qué puedo usar para esto?


Bueno, en Windows ejecuto felizmente diff y muchas otras herramientas de GNU. Puedes hacerlo con cygwin , pero personalmente prefiero GnuWin32 porque es una experiencia de instalación mucho más liviana.

Entonces, mi respuesta es que el equivalente de Windows de diff , no es otro que el mismo diff .


Ejecuta esto en el shell CMD o en el archivo por lotes

FC file1 file2

FC también se puede utilizar para comparar archivos binarios:

FC /B file1 file2



FC funciona muy bien en mi caso, no fue útil ya que solo quería las líneas que se han cambiado. Y FC da datos adicionales como nombre de archivo, mismas líneas y comparación bilateral.

>fc data.txt data.txt.bak ***** DATA.TXT ####09 ####09 ####09 ***** DATA.TXT.BAK ####09 ####08 ####09

pero en mi caso solo quería las líneas que han cambiado y quería que esas líneas se exportaran a un archivo diferente, sin ningún otro encabezado o datos.

Así que usé "findstr" para comparar el archivo:

findstr /V /G:data.txt.bak data.txt >DiffResult.txt

dónde :

data.txt.bak es el nombre del archivo antiguo

data.txt es el nombre del nuevo archivo

DiffResult.txt contiene los datos que se modifican, es decir, solo una línea #### 09



La razón por la que obtiene el error con COMP es que la utilidad asume que los archivos que está comparando son del mismo tamaño. Para superar esto, puede usar la opción ''/n'' con la que puede especificar el número de líneas que desea comparar. (vea las opciones admitidas por comp al escribir ''comp /?'' en la línea de comando, para que su comando se vea como:

C:/>comp "filepath1" "filepath2" /a /l /n=(the number of lines you want to compare) /c

Esto debería resolver su problema si desea seguir usando COMP. Pero esto será un problema para archivos realmente grandes.

Aunque comp es una opción, pero creo que es primitiva y FC es una mejor opción. puede utilizar FORFILES y FC juntos para hacer una utilidad de archivos realmente buena si la necesita con frecuencia.

FC se utiliza de esta manera para ref:

C:/>fc /c(case insensistive) /lbn(number of errors allowed before you wanna stop compare) /n(display line number) "filename1" "filename2"

Hay muchas opciones disponibles que puedes ver por ''fc /?'' espero que esto ayude


No sé si la siguiente herramienta es exactamente lo que necesitas. Pero me gusta usar, para archivos específicos, alguna herramienta en línea. De esta manera puedo usarlo independientemente del sistema operativo. Aquí hay un ejemplo: diffchecker.com

Pero para mis necesidades, creo que la mejor herramienta para rastrear cambios y registros de los archivos de mi proyecto es GIT. Si trabajas en un equipo, puedes tener un repositorio en línea en un servidor tuyo o usarlo con Bitbucket o Github.

Espero que ayude a alguien.


Otra alternativa es descargar e instalar git desde here . Luego, agregue la ruta a Git/bin/ a su variable PATH . Esto le dará no solo diff, sino también muchos otros comandos de Linux que puede usar desde la línea de comandos de Windows.

Puede establecer la variable PATH haciendo clic derecho en Computadora y seleccionando Propiedades. Luego puede hacer clic en Configuración avanzada del sistema en el lado izquierdo de la pantalla. En la ventana emergente, haga clic en Variables de entorno y luego agregue o actualice la variable PATH en sus variables de usuario con Git/bin/

Git diff documentación


Si ha instalado git en su máquina, puede abrir un terminal de git y simplemente usar el comando diff Linux de manera normal.


También está Powershell (que es parte de Windows). No es rápido, pero es flexible, aquí está el comando básico. La gente ha escrito varios cmdlets y scripts para ello si necesita un mejor formato.

PS C:/Users/Troll> Compare-Object (gc $file1) (gc $file2)

No es parte de Windows, pero si eres un desarrollador con Visual Studio, viene con WinDiff (gráfico)

Pero mi favorito personal es BeyondCompare, que cuesta $ 30.


Winmerge tiene una utilidad de línea de comandos que vale la pena revisar.

Además, puede utilizar la parte gráfica de la misma también en función de lo que necesite.


fc fc es mejor para manejar archivos grandes (> 4 GBytes) que el diff de Cygwin.


DiffUtils es probablemente tu mejor apuesta. Es el equivalente de Windows de diff.

Que yo sepa, no hay equivalentes incorporados.