Sé que hay una publicación similar a esta: aquí .
Intenté usar el comp
comando como se menciona, pero si tengo dos archivos, uno con datos como "abcd" y el otro con datos "abcde", solo dice que los archivos son de diferentes tamaños. Quería saber exactamente en qué se diferencian. En Unix, la diferencia simple 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 lo que puedo usar para esto?
284
FC path1\* FC path2\*
compararía todos los archivos en las carpetaspath1
ypath2
, siempre que (los archivos) tengan nombres idénticos. Si hay archivos con nombres que no coinciden, FC informará que falta un archivo, pero solo para los archivos de la primera carpeta que no están no se encuentra en la segunda carpeta y no al revés. Para detectar todos los desajustes, probablemente sea necesaria una técnica diferente.files in both directories are diff'd; files in only one directory throw errors.
" Interesante. ¿Pero seguramente hay un programa de terceros equivalente a diff?Bueno, en Windows ejecuto felizmente
diff
y muchas otras herramientas de GNU. Puede hacerlo con cygwin , pero personalmente prefiero GnuWin32 porque es una experiencia de instalación mucho más ligera.Entonces, mi respuesta es que el equivalente de Windows
diff
no es otro que éldiff
mismo.fuente
diffutils
. Ver cygwin.com/cgi-bin2/…Winmerge tiene una utilidad de línea de comandos que vale la pena echarle un vistazo.
Además, también puede usar la parte gráfica, según lo que necesite.
fuente
Otra alternativa es descargar e instalar git desde aquí . Luego, agregue la ruta
Git\bin\
a suPATH
variable. 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
PATH
variable 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 conGit\bin\
Documentación de Git diff
fuente
git...
ejecutables disponibles desde PATH. Además, la respuesta probablemente debería incluir una información importante: que necesita lanzar la herramienta diff escribiendogit diff
, no solodiff
.diff
FC funciona muy bien, en mi caso no fue útil ya que solo quería las líneas que se cambian. Y FC da datos adicionales como nombre de archivo, mismas líneas y comparación bilateral.
pero en mi caso solo quería las líneas que habían cambiado y quería que esas líneas se exportaran a un archivo diferente, sin ningún otro encabezado o datos.
Así que usé "findtr" para comparar el archivo:
dónde :
data.txt.bak
es el nombre del archivo antiguodata.txt
es el nombre del nuevo archivoDiffResult.txt
contiene los datos que se cambian, es decir, solo una línea #### 09fuente
fc. fc es mejor para manejar archivos grandes (> 4 GBytes) que el diff de Cygwin.
fuente
También hay 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.
No forma parte de Windows, pero si es desarrollador con Visual Studio, viene con WinDiff (gráfico)
Pero mi favorito personal es BeyondCompare, que cuesta $ 30.
fuente
DiffUtils es probablemente su mejor apuesta. Es el equivalente de Windows de diff.
Que yo sepa, no hay equivalentes incorporados.
fuente
La razón por la que obtiene el error con COMP es porque la utilidad supone que los archivos que está comparando son del mismo tamaño. Para superar esto, puede usar la
'/n'
opción con la que puede especificar el número de líneas que desea comparar. (consulte las opciones admitidas por comp escribiendo'comp /?'
en la línea de comando. Para que su comando se vea así:Esto debería resolver su problema si quiere seguir usando COMP. Pero esto será un problema para archivos realmente grandes.
Aunque
comp
es una opción, pero siento que es primitiva yFC
es una mejor opción. puede usarFORFILES
yFC
juntos para hacer una utilidad de comparación de archivos realmente buena si la necesita con frecuencia.FC se usa de esta manera para la referencia:
hay muchas opciones disponibles que puedes ver con la
'fc /?'
esperanza de que esto ayudefuente
He encontrado un software gráfico liviano para Windows que parece ser útil por falta de
diff
comando. Podría resolver todos mis problemas.WinDiff http://www.grigsoft.com/download-windiff.htm
fuente
La ventana equivalente al comando diff es el comando fc (File Comapre).
Estos son los pasos básicos para hacerlo:
1. Mantenga los dos archivos en una carpeta (Ejemplo archivo1.html y archivo2.html)
2. Inicie el símbolo del sistema
3. Escriba fc file1Location file2Location
He encontrado un tutorial detallado sobre el mismo:
http://www.howtogeek.com/206123/how-to-use-fc-file-compare-from-the-windows-command-prompt/
fuente
No sé si la siguiente herramienta es exactamente lo que necesita. 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 trabaja en un equipo, puede tener un repositorio en línea en un servidor suyo o usarlo con Bitbucket o Github.
Espero que ayude a alguien.
fuente
Si ha instalado git en su máquina, puede abrir un terminal git y simplemente usar el
diff
comando Linux de manera normal.fuente