elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


  Mostrar Temas
Páginas: [1]
1  Programación / Scripting / Problema con fecha en programa . bat... en: 29 Abril 2009, 19:24 pm
Hola amigos, primero q todo saludarlos y felicitarlos pr el foro, se encuentran buenas cosas;
buscando y guiandome en el foro cree un programa para realizar un backup de una base de datos y ponerle como nombre la fecha en q se hace, en escencia lo q hace es comprimirlo con winzip y copiarlo a una ubicacion; el problema surge cuando necesito restaurar dicha base en una de prueba, todos los dias, creé el programa para restaurarla, entonces lo q hago es con el mismo codigo q le doy el nombre, identifico el backup creado y le resto 1 al dia, puesto q hago el backup a las 11pm todos los dias y lorestauro a la 1 am del siguiente dia, hasta ahi todo bien, el problema surge cuando la fecha es el primero del mes, puesto q como siempre le resto 1 al dia y cuando pongo el nombre en la parte del dia me queda 0!, cuando el primero cae en lunes, peor, porque le resto 3 y me da -2, no se q hacer, se q existe la variable date pero no se como restarle 1 para q me de la fecha anterior, espero q por favor me ayuden, aca esta el codigo de crear el backup:

Código
  1. @ECHO OFF
  2. CLS
  3. ECHO     COPIA DE SEGURIDAD DE DATOS
  4.  
  5. set dia=
  6. set mes=
  7. set año=
  8. set nombre=
  9.  
  10. for /f "tokens=1-3 delims=/ " %%a in ('date /t') do (set dia=%%a& set mes=%%b& set año=%%c)
  11.  
  12. set nombre=BOG%mes%%dia%
  13.  
  14. wzzip -P -r D:\LZHWEB\%nombre%.zip D:\bogota\bd\jord\*.*
  15.  
  16.  
  17. set nombre=SER%mes%%dia%
  18.  
  19. wzzip -P -r D:\LZHWEB\%nombre%.zip D:\servicio\bd\jord\*.*
  20.  
  21.  
  22. ECHO  PROCESO TERMINADO :
  23. TIME

y el de restaurarlo:

Código
  1. @ECHO OFF
  2. CLS
  3. ECHO     COPIA DE SEGURIDAD DE DATOS
  4.  
  5. set dia=
  6. set mes=
  7. set año=
  8. set nombre=
  9. set cont=
  10.  
  11. for /f "tokens=1-3 delims=/ " %%a in ('date /t') do (set dia=%%a& set mes=%%b& set año=%%c)
  12.  
  13. set cont=1
  14.  
  15. set /a dia=%dia%-%cont%
  16.  
  17.  
  18. set nombre=BOG%mes%%dia%
  19.  
  20. cd \
  21.  
  22. d:
  23.  
  24. cd \
  25.  
  26. cd copiabog\bd\jord
  27.  
  28. del j*.d*
  29.  
  30. wzunzip -e -o C:\LZHWEB\%nombre%.zip d:\copiabog\bd\jord
  31.  
  32.  
  33. set nombre=SER%mes%%dia%
  34.  
  35. cd \
  36.  
  37. cd copiaserv\bd\jord
  38.  
  39. del j*.d*
  40.  
  41. wzunzip -e -o C:\LZHWEB\%nombre%.zip d:\copiaserv\bd\jord
  42.  
  43. ECHO  PROCESO TERMINADO :
  44. TIME
  45.  
Gracias por la ayuda...
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines