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!
Dos consultas: Recuperación de datos y línea de comandos
- BasicOs
- Site Admin
- Mensajes: 2091
- Registrado: 21 Nov 2006, 19:24
- Ubicación: El Internet - (Canarias, España)
- Contactar:
Re: Dos consultas: Recuperación de datos y línea de comandos
Hola,
Realmente como es texto en el mismo formato, color tamaño, etc.. en la ventana dos, esto es más facil para el OCR y así puedes volcar la info a una variable. Tambien puedes usar marcar/seleccionar copiar y pegar de la ventana del cmd con lo que no necesitarias usar OCR. Es es un ejemplo de copiar y pegar. luego con el clipget() consigues el texto.
Tambien más sencillo puedes crear un botón con autoit (Form) con varias funciones que no pregunten o que pregunten poco luego:
por ejemplo Recuperar Fotos, y ejecutas directamente el comando de recuperar fotos de la unidad que selecciones. Digamos que puedes responder en un fichero de configuración todas las opciones que elegirías en el texto.
Si enseñas algo del código wellcome :)
Salu22:)
Realmente como es texto en el mismo formato, color tamaño, etc.. en la ventana dos, esto es más facil para el OCR y así puedes volcar la info a una variable. Tambien puedes usar marcar/seleccionar copiar y pegar de la ventana del cmd con lo que no necesitarias usar OCR. Es es un ejemplo de copiar y pegar. luego con el clipget() consigues el texto.
Luego puedes enviar send() de teclas.Microsoft Windows [Versión 6.2.9200]
(c) 2012 Microsoft Corporation. Todos los derechos reservados.
C:\Users\usuario>
Tambien más sencillo puedes crear un botón con autoit (Form) con varias funciones que no pregunten o que pregunten poco luego:
por ejemplo Recuperar Fotos, y ejecutas directamente el comando de recuperar fotos de la unidad que selecciones. Digamos que puedes responder en un fichero de configuración todas las opciones que elegirías en el texto.
Si enseñas algo del código wellcome :)
Salu22:)
Re: Dos consultas: Recuperación de datos y línea de comandos
¿quieres decir que lea el texto con OCR?.
Eso se complica más de lo que tenía pensado :).
Pensé en la opción de la línea de comandos, porque trabajar con ella desde AutoIt es sencillo (incluyendo obtener la salida de esta). Pero precisamente este programa lo hace bastante complicado ;).
Si hago algo de código lo subo, pero sigo buscando otras opciones...
salu2!
Eso se complica más de lo que tenía pensado :).
Pensé en la opción de la línea de comandos, porque trabajar con ella desde AutoIt es sencillo (incluyendo obtener la salida de esta). Pero precisamente este programa lo hace bastante complicado ;).
Si hago algo de código lo subo, pero sigo buscando otras opciones...
salu2!