Script backup BAT con 4 archivos de historial

Iniciado por H@T, 15 Enero 2009, 22:29 PM

0 Miembros y 1 Visitante están viendo este tema.

H@T

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:

del 20090115.rar

Espero que me haya explicado bien.

Saludos
H@T
http://www.redes-seguridad.com.ar
redes-seguridad.blogspot.com/

Banti

#1
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.

H@T

La fecha no tengo problemas, la genero con el siguiente código:

C:\backup>echo %date:~6,4%-%date:~3,2%-%date:~0,2%.rar
2009-01-15.rar


Ahora si por ejemplo quisiera mandar esa salida 2009-01-15.rar a una variable de entorno como hago?

Hice lo siguiente:

C:\backup>set VAR=%date:~6,4%-%date:~3,2%-%date:~0,2%.rar

C:\backup>echo %var%
2009-01-15.rar


Quiero hacer lo siguiente:
del %var%

Y lo borra ok.

Pero cuando hago el comando completo:
set VAR=dir /b | awk "{print NR==1,$0}" | find "1 "|awk "{print $2}"
no me funciona, probé poner todo el comando entre comilla o comitas simples y sigue sin funcionar.

Ayuda please.


H@T
http://www.redes-seguridad.com.ar
redes-seguridad.blogspot.com/