Dos consultas: Recuperación de datos y línea de comandos
Publicado: 06 May 2013, 11:26
Hago las dos consultas en el mismo hilo, para no abrir dos diferentes, ya que en parte tienen algo que ver una consulta con la otra :)
Tenía curiosidad por saber como hacer un programa como otros muchos que hay, para la recuperación de datos, en caso de borado accidental de archivos, haberse dañado una partición y demás.
En el foro inglés he visto esto:
http://www.autoitscript.com/forum/topic ... 20recovery
Me gusta, porque está todo escrito en AutoIt. Pero no sé exactamente si hace lo que quiero. Además, la última versión del script da un error después de un rato trabajando. Y por lo que he visto así por encima, no he visto que haya recuperado nada que haya tenido en el disco duro antes del último formateo, ni siquiera que hubiera borrado, o enviado a la papelera de reciclaje, antes de ejecutar el script. Aunque es cierto, que no he mirado los miles de archivos que me iba generando.
Imagino, que la recuperación de datos de un medio de almacenamiento ha de hacerse a bajo nivel, así que sólo con AutoIt no debe poder hacerse. Al menos, habría que ayudarse con las APIS de Windows, si es que estas tienen alguna función que pueda servir para esto.
¿Qué sabéis sobre esto?. ¿Se os ocurre alguna forma de hacerlo usando los menos recursos externos a AutoIt posibles?.
Como esto parece complicado, se me ocurrió buscar un programa de código abierto para este propósito y después de analizarlo un poco, intentar aprovechar todo o parte de su código, para hacer una DLL que ayude a AutoIt a hacer esto. Pero eso casi me pareció más complicado ;).
Pero resulta, que buscando "programas de recuperación de datos de código abierto" vi que los había por línea de comando ¡y de código abierto! :).
Opté por probar testdisk:
http://www.cgsecurity.org/wiki/TestDisk
Pero al parecer, aún funcionando por línea de comandos, hay que elegir opciones con los cursores; y aquí viene la consulta sobre la línea de comandos:
Había pensado, en automatizar este programa con AutoIt de alguna forma: con una UDF o algo así. Pero al ver que hay que elegir opciones con los cursores, no sé como hacerlo, pues esperaba que funcionara a base de parámetros.
¿Sabéis cómo se puede trabajar en AutoIt con este programa?.
Se me ocurre que podría funcionar enviarle pulsaciones de teclas a la línea de comandos. Pero además de que no sé si eso funcionaría (la idea es que no se vea la línea de comandos ni nada de Testdisk) el problema es, que algunas de las opciones que salen no son siempre las mismas: discos duros, particiones, etc.
Así, que habría que enviarle pulsaciones de teclas (cursores) y obtener el texto del programa...
La verdad es que parece complicado de automatizar así el programa pero de momento es lo más sencillo que se me ocurre.
En cualquier caso, si conocéis alguna DLL o algo así, que pueda ayudar a hacer esto de recuperar datos con AutoIt, también irá bien ;).
Salu2!
Tenía curiosidad por saber como hacer un programa como otros muchos que hay, para la recuperación de datos, en caso de borado accidental de archivos, haberse dañado una partición y demás.
En el foro inglés he visto esto:
http://www.autoitscript.com/forum/topic ... 20recovery
Me gusta, porque está todo escrito en AutoIt. Pero no sé exactamente si hace lo que quiero. Además, la última versión del script da un error después de un rato trabajando. Y por lo que he visto así por encima, no he visto que haya recuperado nada que haya tenido en el disco duro antes del último formateo, ni siquiera que hubiera borrado, o enviado a la papelera de reciclaje, antes de ejecutar el script. Aunque es cierto, que no he mirado los miles de archivos que me iba generando.
Imagino, que la recuperación de datos de un medio de almacenamiento ha de hacerse a bajo nivel, así que sólo con AutoIt no debe poder hacerse. Al menos, habría que ayudarse con las APIS de Windows, si es que estas tienen alguna función que pueda servir para esto.
¿Qué sabéis sobre esto?. ¿Se os ocurre alguna forma de hacerlo usando los menos recursos externos a AutoIt posibles?.
Como esto parece complicado, se me ocurrió buscar un programa de código abierto para este propósito y después de analizarlo un poco, intentar aprovechar todo o parte de su código, para hacer una DLL que ayude a AutoIt a hacer esto. Pero eso casi me pareció más complicado ;).
Pero resulta, que buscando "programas de recuperación de datos de código abierto" vi que los había por línea de comando ¡y de código abierto! :).
Opté por probar testdisk:
http://www.cgsecurity.org/wiki/TestDisk
Pero al parecer, aún funcionando por línea de comandos, hay que elegir opciones con los cursores; y aquí viene la consulta sobre la línea de comandos:
Había pensado, en automatizar este programa con AutoIt de alguna forma: con una UDF o algo así. Pero al ver que hay que elegir opciones con los cursores, no sé como hacerlo, pues esperaba que funcionara a base de parámetros.
¿Sabéis cómo se puede trabajar en AutoIt con este programa?.
Se me ocurre que podría funcionar enviarle pulsaciones de teclas a la línea de comandos. Pero además de que no sé si eso funcionaría (la idea es que no se vea la línea de comandos ni nada de Testdisk) el problema es, que algunas de las opciones que salen no son siempre las mismas: discos duros, particiones, etc.
Así, que habría que enviarle pulsaciones de teclas (cursores) y obtener el texto del programa...
La verdad es que parece complicado de automatizar así el programa pero de momento es lo más sencillo que se me ocurre.
En cualquier caso, si conocéis alguna DLL o algo así, que pueda ayudar a hacer esto de recuperar datos con AutoIt, también irá bien ;).
Salu2!