Título: Script backup BAT con 4 archivos de historial Publicado por: H@T en 15 Enero 2009, 22:29 pm Hola gente,
Hoy intenté hacer un script en bat para que haga lo siguiente: Ya tengo hecho un script que backupea semanalmente otros archivos, los comprime y va guardando con el siguiente formato AAAAMMDD, la cuestión es que quiero solamente dentro de la carpeta que los alberga que existan 4 versiones, es decir una para cada semana. Debe ir borrando cuando llega a la 5 versión, la mas vieja. Llegué a mostrar por pantalla el archivo que debo borrar, pero cuando intento mandarlo a una variable y luego usar del %VARIABLE% no me funciona. CONCLUISON: Como debo hacer para que la salida de un comando la guarde en la variable de entorno. Y luego borrar el archivo con el nombre que posee esa variable. A ver si me explico mejor. Por ejemplo tengo por pantalla: 20090115.rar (es la fecha de hoy en formato AAAAMMDD) Yo quiero almacenar ese numero en una variable y luego borrar el archivo con dicho nombre. Quedando lo siguiente: Código: del 20090115.rar Espero que me haya explicado bien. Saludos Título: Re: Script backup BAT con 4 archivos de historial Publicado por: Banti en 15 Enero 2009, 22:49 pm Ahora yo me imagino muchas formas (mal depuradas por eso no pongo) para solucionar pero no entro aun en el contexto.
Mira podes hacer por ejemplo %variable:~-2% que muestra los 2 ultimos carcteres... Ah... muestra en pantalla! el archivo a borrar! o sea todo facil como lo muestra? Ya que hay una funcion en u thread con chincheta como guardar en una variable la ip que tira ipconfig. Título: Re: Script backup BAT con 4 archivos de historial Publicado por: H@T en 16 Enero 2009, 00:58 am La fecha no tengo problemas, la genero con el siguiente código:
Código: C:\backup>echo %date:~6,4%-%date:~3,2%-%date:~0,2%.rar Ahora si por ejemplo quisiera mandar esa salida 2009-01-15.rar a una variable de entorno como hago? Hice lo siguiente: Código: C:\backup>set VAR=%date:~6,4%-%date:~3,2%-%date:~0,2%.rar Quiero hacer lo siguiente: Código: del %var% Y lo borra ok. Pero cuando hago el comando completo: Código: set VAR=dir /b | awk "{print NR==1,$0}" | find "1 "|awk "{print $2}" Ayuda please. |