
Me gustaría saber si dos carpetas tienen el mismo contenido idéntico 1:1. Esto se debe a que me gustaría verificar si la copia/respaldo de mis carpetas es consistente.
¿Como puedo hacer eso? ¿Cómo puedo comparar el contenido de dos carpetas de forma agradable y rápida?
Respuesta1
Quieres una herramienta de diferenciación que sea capaz de diferenciar carpetas. Yo diría que el más popular para Windows esWinMerge.
Si necesita algo que funcione desde la línea de comando, consulteesta respuesta.
Actualizar
Una respuesta más específica que es casi lo más rápida posible y también muy flexible es usarCygwinVersiones de las herramientas de línea de comandos de Unix:
diff -r dir1 dir2
Si quieres usar un buitin entonces intentaCOMP:
forfiles /P %folder1Path% /S /C "cmd /c comp /a @path %folder2Path%\@file"
pero te advierto que es complicado. Por un lado, COMP sólo funciona en una única carpeta, por lo que debes manejar la recursividad tú mismo (de ahí la larga cola). Por otro lado, aparecerá después de realizar la primera comparación.
Actualización 2
no lo recomiendohaciendo estoporque sólo será más rápido en determinadas situaciones. También será incorrecto en otros. Como solicitó una versión más rápida, también puede comparar solo la suma de comprobación md5 de los archivos. Utilizarás Cygwin para esto:
diff <(sort <(md5deep -r /directory/1/) |cut -f1 -d' ') <(sort <(md5deep -r /directory/2/) |cut -f1 -d' ')
Sin embargo, esto solo tendrá un beneficio cuestionable porque se ejecutará en la máquina host de cualquier manera, por lo que no ahorraremos ancho de banda. Aumentará el uso de la CPU. Sin embargo, si lo desglosas, podrías crear el md5 para los archivos solo cuando se guarden y solo realizar la parte diferencial cuando sea necesario.