PDA

Ver la Versión Completa : [ SOLUCIONADO ] Borrar determinados archivos con tasker


victorjagu
26/04/14, 18:59:34
Hola a todos! Llevo ya bastante tiempo leyendo estos posts de tasker gracias a los cuales he aprendido un montón... así que muuuchas gracias por toda la info q hay posteada.

Sin embargo hay algo que no he encontrado y que me trae de cabeza.

Como todos sabemos, Whatsapp guarda en android copia de seguridad del historial (sdcard0/whatsapp/databases). El problema es que guarda la copia del día en curso y de los 7 anteriores... vamos que casi 10mb de historial repetido.
Dado que el día en curso no lleva fecha, y el resto sí, estaba intentando hacer q tasker borrara los ficheros de ese directorio que tengan la fecha y no el último pero no se cómo hacerlo.

He intentado usar la acción de "eliminar archivo" usando el "comodín" "+" para borrar los archivos que tengan más nombre que el principal, pero no me funciona.
También he pensado en borrar los archivos que tengan más de 16 caracteres (es decir, todos los ficheros que incluyen fecha en el nombre), pero no se cómo implementar esta idea...

Alguien puede echarme una mano por favor... ya me estoy empezando a desesperar:cry:

Gracias de antemano.

mlesir
26/04/14, 21:45:41
Te lanzo unas cuantas sugerencias que no he probado pero a ver si por ahi puedes sacarlo adelante:

1- Utilizar una variable en la ruta de origen del archivo que quieres borrar. La variable la estableces tu asi que puedes crear por ejemplo:

%Fecha A %DATE-1 (le vamos quitando un día a la fecha actual)

%Variable A data/data/loquesea/copiadewhatsappde%Fecha.db

Todo esto lo podemos meter en un for.

2- No se la acción "probar" te lo permite pero si si se pudiera coger la fecha de creación Puedes hacer un listar archivos. con esa lista vas cogiendo la fecha de creación. Comparas con IF si coincide con la fecha actual SI NO lo borras.

2A- Puedes coger la fecha de creación con un comando linux. Exactamente no se cual será pero pon en google "comando linux para saber fecha de creacion de archivo". Luego lo utilizas en un run shell.

2B- Creo que el comando linux listar ( ls) te los puede ordenar por orden de modificacion o creación. Mira el recopilatorio a ver si este comando esta y si no mira en google. Si te los ordena ya sólo te queda separar los resultados en la variable y después ir borrando.

Todo esto te lo digo muy poco detallado pero supongo que te da una idea de lo que pretendo decirte.

Caravantes
27/04/14, 02:00:53
También he pensado en borrar los archivos que tengan más de 16 caracteres (es decir, todos los ficheros que incluyen fecha en el nombre), pero no se cómo implementar esta idea...

La acción PRUEBA (grupo MISC) incluye una función que te devuelve la longitud (número de caracteres) de la variable que quieras controlar. De esta forma, si tienes los nombres de los archivos en una matriz, puedes ir comprobando los tamaños y borrar los que superen 16 caracteres.

victorjagu
27/04/14, 16:13:47
Jo, los más grandes de este foro me han contestado, que maravilla! Muchas gracias a los dos, ya lo conseguí. Hay q ver la cantidad de vueltas q he dado para algo tan sencillo jaja.
En fin, muchas gracias otra vez a los dos.
Podemos dar la consulta por resuelta.
Un saludo y a seguir aprendiendo!!!!

mlesir
27/04/14, 17:58:37
Cuando dices "más grandes" te refieres a la edad no? Si no es así creo que no te entiendo. ;-)

victorjagu
27/04/14, 18:56:54
jajajaja

Caravantes
27/04/14, 23:15:30
En fin, muchas gracias otra vez a los dos.
Podemos dar la consulta por resuelta.

No des carpetazo tan rápido porque te quedan un par de tareas pendientes con las que puedes colaborar y así demuestras realmente tu agradecimiento.

A) Edita el primer post. Edición avanzada. Cambia el prefijo CONSULTA por RESUELTO. Eso facilitará las cosas a otros compañeros que utilicen el buscador del foro cuando tengan un problema parecido y estén buscando soluciones.

b) Añade en ese hilo otro post y pon la tarea que has hecho, para que quede disponible por si algún compañero quiere copiarla o revisarla para aprender. En el enlace siguiente tienes una explicación sobre el procedimiento adecuado para exportar la descripción de esa tarea y pegarla aquí en un mensaje.
http://www.htcmania.com/showthread.php?p=8852245

victorjagu
28/04/14, 12:05:36
Ya lo cambié a "solucionado" (no sabía que era en edición avanzada).

Lo que hice... pues una tontería:
A1: copiar archivo [desde: whatsapp/databases/msgstore.db.crypt5 A whatsapp Root:apagado]
A2:Eliminar directorio [dir: whatsapp/databases recurrencia: encendido Root: apagado]
A3: Crear directorio [dir: whatsapp/databases Root: apagado Crear todos: apagado]
A4: Mover [Desde Whatsapp/databases/msgstore.db.crypt5 A Whatsapp/databases Root:apagado]

En definitiva, como el último archivo modificado siempre se llama igual ("msgstore.db.crypt5"), pues lo copio en otra carpeta, borro todo el directorio, lo creo de nuevo y muevo ese archivo de nuevo a su sitio. Como decía, una tontería que no se me había ocurrido antes jeje

Juanmiwow
28/04/14, 15:44:49
Como decía, una tontería que no se me había ocurrido antes jeje

Ninguna tontería! Veo más tontería hacer el otro lío pudiéndolo hacer así de sencillo.

En la vida, cuanto más sencillo y claro es algo, mejor, que bastantes complicaciones tenemos de por sí!

Gracias, amigo!

victorjagu
29/04/14, 11:29:53
Jaja, pues sí, la verdad cuanto más fácil mejor y además menos riesgos de que no vaya a funcionar jaja
Un abrazo gente!