Automatiza la comparación de archivos corruptos

Automatiza la comparación de archivos corruptos

después de undesafortunado análisis CHKDSK que corrompió muchos archivos en un disco duro de 3 TB(detectado erróneamente como 746 GB, probablemente debido a que un controlador USB2 es incompatible con capacidades superiores a 2 TB), me gustaría hacer una comparación precisa de esos archivos (con sus contrapartes correctas en un disco duro de respaldo) y extraer las áreas corruptas para su posterior análisis. investigaciones, antes de eliminarlas.
Hasta ahora procedí así:

  • Abra ambas versiones del archivo en WinHex. Active la pantalla “Sincronizar y comparar”.
  • Ejecute una comparación en el desplazamiento 0, guarde un informe (obligatorio con este software, no hay forma de encontrar directamente la siguiente diferencia) con el nombre del archivo, especifique un límite de 10000 errores (para evitar tener informes demasiado grandes).
  • Una vez que se detenga (habiendo alcanzado el final del archivo o el límite de 10000 bytes diferentes), abra el informe TXT, copie el desplazamiento de la primera diferencia en el menú "Ir a desplazamiento" de WinHex. Marque el primer error (que siempre está en el límite de un sector) como el comienzo de un bloque.
  • Busque el final del área dañada desplazándose hacia abajo, o si lleva demasiado tiempo agregando 1 MB o 100 KB hasta que salga y luego desplazándose hacia arriba (no encontré manera de hacerlo más fácil en WinHex). Marca el final del último sector del área corrupta como el final del bloque.
  • Extraiga el bloque como un archivo nuevo, con el patrón "Nombre_del_archivo [1111-2222]" donde "1111-2222" son los desplazamientos de principio a fin.
  • Reanudar la comparación al final del área corrupta previamente identificada, para buscar otras, hasta el final del archivo...

Ahora bien, ¿habría alguna manera de automatizar este proceso laborioso y que requiere mucho tiempo? ¿Existen otros editores hexadecimales más adecuados para comparar archivos? ¿O podría usar un script para hacer esto todo de una vez? Encontré una pequeña y brillante herramienta de línea de comandos llamadadsfok(DS File Ops Kit) que puede extraer un bloque de datos entre dos valores de compensación (entre otras funciones que aún no he probado). Entonces necesitaría otra herramienta de línea de comando para realizar la comparación y obtener esos valores de compensación, y consejos para escribir un script para que esas herramientas funcionen juntas. Gracias.

información relacionada