Hola a tod@s!
En este sencillo post que hoy os traemos, repasaremos las opciones de comparación de archivos en Windows Vista. Todo ello lo haremos a través de la línea de comandos, of course…
La primera opción que tenemos es con la utilidad File compare (FC.EXE). Esta utilidad, que ya teníamos en XP, tiene muchas opciones bastantes interesantes. Entre ellas tenemos la posibilidad de realizar una comparación binaria con el atributo /B. Si en la comparación necesitamos omitir mayúsculas y minúsculas, también podemos especificarlo con el parámetro /C. La utilización de esta herramienta no puede ser más sencilla. Por ejemplo, si necesitamos realizar una comparación a nivel binario de dos ficheros, utilizaremos el comando siguiente:
fc.exe /B Fichero1.txt Fichero2.txt
Simple y sencillo.
La segunda utilidad que tiene Windows Vista se llama Comp (Comp.exe) y es una utilidad muy parecida a la anterior.
Si necesitasemos comparar los dos ficheros anteriores, podríamos utilizar también este comando, y su manejo es igual de sencillo que el anterior.
comp.exe Fichero1.txt Fichero2.txt
Esta aplicación, al terminar de comparar los ficheros, muestra un mensaje por pantalla ofreciéndonos la posibilidad de realizar otra comparación. Esta opción está bien si trabajámos sobre plano, pero si usamos esta utilidad en algún script, puede que necesitemos eliminar esa opción. Nada más fácil que pasarle el parámetro N (de negación) a la herramienta, antes de comparar ficheros. Con lo que nos quedaría de la siguiente manera:
ECHO n | comp.exe Fichero1. Fichero2.txt
La última opción que os presentamos hoy, es la incluida en PowerShell, con el comando Compare-Object. Tiene las opciones incluidas en las dos utilidades anteriores, pero esta sin duda es la más ideal para realizarlo, ya que podremos utilizar la salida de la comparación a otro cmdlet, tal y como si fuese otro objeto. Esta última opción la tenemos con el parámetro -passtrhu.
El alias que tiene por defecto PowerShell para llamar a este cmdlet, se llama diff.
Si quisiésemos determinar si hay alguna diferencia entre los dos archivos anteriores, en PowerShell escribiríamos lo siguiente:
Compare-Object $(Get-Content Fichero1.txt) $(Get-Content Fichero2.txt)
Sobre PowerShell, tenéis esta, y muchísima más información en el siguiente enlace:
http://www.microsoft.com/technet/scriptcenter/topics/msh/cmdlets/compare-object.mspx
Saludos!!
Hombre sinceramente para comparar ficheros es muchísima mejor usar la herramienta WinMerge , que es libre , está en un montón de idiomas y te da un montón de opciones no sólo para comparar sino para poder pasar las desigualdades entre los ficheros además de poseer una interfaz sencilla y nmuy intuitiva.
Salu2
Hombre, dado que este articulo es purista con respecto a herramientas Microsoft, tambien podriamos mencionar WINDIFF de las SUPPORT TOOLS de Microsoft.