Se requiere software de Windows para comparar 2 carpetas a través del árbol con las hojas

En realidad, tengo 2 versiones de una carpeta que tiene varias carpetas y archivos y tiene una profundidad máxima de 6, ahora no estoy seguro de qué cambios hice en qué archivo y en qué versión.

Casos de uso

  1. Necesito una herramienta que enumere todos los archivos que no coinciden
  2. Luego, al hacer clic en el archivo modificado, muestra los cambios, similar a Diff en svn

Puedo hacer el segundo caso de uso manualmente a través de una herramienta de comparación independiente, pero no puedo encontrar el software que cumpla con el primer caso de uso.

Respuestas (7)

Le sugiero que use Total Commander (si es para Windows).

Primero haces una comparación de directorios que te permite verificar rápidamente qué archivos/carpetas faltan/más nuevos/diferentes:

ingrese la descripción de la imagen aquí

Con las operaciones de copiar/mover archivos, puede sincronizar archivos completos.

Luego haces una comparación del contenido del archivo, y cuando estás en el modo de edición puedes copiar los diferentes fragmentos de un archivo a otro:

ingrese la descripción de la imagen aquí

Puede usar la versión shareware completamente funcional, o $40.- / €32.- le dará un registro de por vida.
Vivo en este programa debido a su tonelada de otras características.

Desde la página web de Total Commander: "Total Commander para Windows es un programa Shareware (versión de demostración). Esto significa que puede probarlo durante un período de 30 días. Después de probar el programa, debe solicitar la versión completa o eliminar el programa desde su disco duro".
@JerryD Pasé por alto eso, lo siento. Acabo de pagar por ello.

Recomiendo KDiff3 que está disponible para Windows, OS X y Unix. Está disponible gratuitamente (GPLv2). ¡Sus capacidades de comparación son excelentes! A continuación se muestra una captura de pantalla de la comparación de dos directorios de código fuente del kernel de Linux:

Captura de pantalla de KDiff3

La vista de archivo en la captura de pantalla muestra archivos comunes y diferentes, pero es trivial filtrar y dejar que solo muestre archivos que son diferentes/solo están presentes en un directorio.

En Unix, OS X y Windows puedes usar Meld :

  • libre y de código abierto
  • Comparación bidireccional y tripartita de archivos y directorios
  • Las comparaciones de archivos se actualizan a medida que escribe
  • El modo de fusión automática y las acciones en los bloques de cambio ayudan a facilitar las fusiones
  • Las visualizaciones facilitan la comparación de sus archivos
  • Admite Git, Bazaar, Mercurial, Subversion, etc.

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Asumiendo Windows

WinMerge es un gran programa de diferencias y puede hacer exactamente eso. WinMerge es gratuito y de código abierto.

  • Caso de uso 1: simplemente seleccione las dos carpetas en el cuadro de diálogo de comparación y luego ordénelas comparison result(vea la captura de pantalla, por ejemplo)
  • Caso de uso 2: simplemente haga doble clic en cualquiera de los archivos allí para ver la diferencia de ese archivo específico, o seleccione dos archivos en el diálogo de comparación y los comparará.pantalla
Desafortunadamente, WinMerge no muestra si una carpeta contiene diferencias o no (recursivamente). O al menos no he encontrado ninguna manera de hacer que muestre eso. Este problema hace que WinMerge sea difícil de usar para una comparación de "árbol a hojas" en jerarquías de 6 niveles.

En Linux puedes usar Krusader :

  • libre y de código abierto
  • enumerar todos los archivos que no coinciden
  • puede comparar archivos por contenido a través de programas de comparación externos como Kompare, KDiff3 o xxdiff.

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

parece "inspirado" por Total Commander :)

Recomiendo Total Commander , tiene una herramienta especial de comparación de subárboles en el menú Commands> Synchronize Dirs...:

ingrese la descripción de la imagen aquí

Lo estoy usando para comparar/sincronizar proyectos con 100.000 archivos en un árbol de 8.000 directorios.

Casillas de verificación:

  • asimétrico

    • deshabilitado = lado izquierdo y derecho son iguales
    • habilitado = el lado izquierdo es el origen, el lado derecho es el destino, por lo que se pueden generar eliminaciones de archivos en el lado derecho (consulte las filas con una X roja en la imagen de demostración)
  • Subdirs - también compara subdirectorios

  • Por contenido : también compare archivos por contenido (byte por byte)

  • Ignorar fecha : compare archivos solo por nombre y tamaño (y por contenido, si está marcado)

Otros controles:

  • ingrese la descripción de la imagen aquí- Botones de alternancia para mostrar/ocultar categorías de elementos

  • columna central de la lista principal: la sincronización de cada archivo se puede personalizar individualmente. El botón Sincronizar inicia la sincronización en función de las selecciones realizadas en esta columna.

Observe que en mi imagen de demostración, en el panel izquierdo, hay un archivo ZIP.

En la lista principal, cada línea se puede evaluar individualmente:

  • F3- mostrar el archivo de la izquierda

  • Shift+ F3- mostrar el archivo correcto

  • Ctrl+ F3- ejecutar la herramienta de comparación línea por línea (incluido el editor). Su captura de pantalla podría incluirse en otra respuesta.

Tuve un problema similar y me encontré con este artículo sobre cómo diferenciar dos carpetas desde un símbolo del sistema de Windows . Esto utiliza la utilidad RoboCopy de Microsoft que se incluye en Windows Vista y versiones posteriores. Funciona tanto con carpetas locales como con recursos compartidos de archivos de red.

El comando es:

ROBOCOPY “\FileShare\SourceFolder” “\FileShare\ComparisonFolder” /e /l /ns /njs /njh /fp /log:reconcile.txt

El artículo en realidad sugiere que también use el modificador /ndl para mantener bajo el tamaño del archivo de registro. SIN EMBARGO , advierte que cuando el modificador /ndl está activo...

  • Las carpetas que existen solo en el origen o el destino no se registran a menos que haya al menos un archivo que no coincida o que falte un archivo de origen en el destino.
  • Las carpetas que existen solo en el destino no se registran en absoluto, independientemente de su contenido.

Tenga en cuenta que todos los archivos y carpetas se comparan con o sin usar /ndl, pero lo que se registra es lo que cambia.

La página web de Microsoft que explica la sintaxis y las opciones de RoboCopy se encuentra en: https://technet.microsoft.com/en-us/library/cc733145.aspx