Comprimir carpeta en .bat y se ejecute a cierta hora

Te comento a necesidad que que diario hago un backup de mis sistema investigue como realizarlo de manera auntomatica y ya tengo en cadigo del . Bat que me comprime mi carpeta pero tengo un inconveniente al momento de que comprime la carpeta AlverV1.rar me guarda toda la ruta del origen al destino donde se almacena carpeta por carpeta y al final de la ruta guarda la carpeta y yo unicamente quiero que me guarde en el destino la carpeta AlterV1.rar, bueno eso es por una parte, por otra parte me gustaría que mi .bat se ejecutara diario a cierta hora, ya investigue e hice pruebas con el comando at, pero no realiza nada, espero me puedas ayuda, desde ya muchas gracias, pongo el código que me comprime la carpeta para que lo revises y te sea más fácil!
Saludos desde México...
@echo off
Cls
Title BACKUP BY AZAEL ALLAN
Color 0C
Echo.
set fecha=%date:~0,2%-%date:~3,2%-%date:~6,4%
if exist "%programfiles%\winrar\rar.exe" goto :rar
:rar
"%programfiles%\winrar\rar.exe" a -ad "C:\Users\Alter\Documents\Visual FoxPro Projects\bakup-alterV1[%fecha%].rar" "C:\Users\Alter\Documents\Visual FoxPro Projects\AlterV1"
Echo Carpeta comprimida correctamente
Pause > nul
:Salir
exit

1 Respuesta

Respuesta
1
Si te he entendido bien, respecto al RAR quieres que no añada la ruta de extracción (es decir la ruta de ubicación de cada archivo) en la información que guarda en el archivo rar. Creo que eso se puede conseguir con el parámetro "-ef" en la llamada al RAR.
En cuanto a la ejecución a una hora determinada te sugiero que utilices las "Tareas programadas" de Windows (Inicio/Programas/Accesorios/Herramientas del sistema/Tareas programadas). Se pueden usar para cualquier programa ejecutable, entre ellos los BAT y son bastante flexibles en cuanto a la programación de ejecución. Si tienes algún problema no dudes en seguir preguntando.
Suerte y saludos,
GGG
Hola te comento que ia metí el comando -ef pero sigue sin mostrar cambio alguno! Podrías ayudarme por favor y con respecto al administrador de tareas no se manejarlo y desconozco como usarlo, espero puedas explicarme de favor!
No acabo de entender que no veas ningún cambio. A lo mejor es que no te estoy entendiendo. Añade, si acaso, también el parámetro "-ed" (para que no incluya carpetas vacías). Te sugiero que pruebes directamente el comando RAR con estos parámetros antes de incluirlo en el bat.
Por ejemplo teclea directamente:
"%programfiles%\winrar\rar.exe" a -ad "C:\Users\Alter\Documents\Visual FoxPro Projects\pba1.rar" "C:\Users\Alter\Documents\Visual FoxPro Projects\AlterV1"
"%programfiles%\winrar\rar.exe" a -ef -ed "C:\Users\Alter\Documents\Visual FoxPro Projects\pba2.rar" "C:\Users\Alter\Documents\Visual FoxPro Projects\AlterV1"
Luego abre los dos rar (pba1.rar y pba2.rar) con el Winrar (no con el RAR) a ver si te saca exactamente la misma información y la misma organización de los archivos. El segundo caso no debería incluir ninguna carpeta.
Respecto a las tareas programadas el acceso, como te decía, es a través de Inicio/Programas/Accesorios/Herramientas del sistema/Tareas programadas (si estamos hablando de Windows XP). Si es Vista o Windows 7 te sugiero que escribas en Google "Tareas programadas Vista" o "Tareas programadas Windows 7" para ver como se entra. Si tu sistema operativo no está en español tal vez haya que tenerlo en cuenta. Una vez que hayas conseguido acceder a las tareas programadas te puedo ayudar a programar cualquier tarea si es que necesitas ayuda para ello.
Saludos,
GGG
He estado revisando el funcionamiento de las tareas programadas en Vista y Win7 (en esos entornos se llama "programador de tareas") y he visto que con esas versiones es una herramienta mucho más potente, aunque también permite utilizaciones sencillas como el lanzamiento de un BAT a una hora determinada cada día.
Pero en ambos se accede de forma similar a XP (Inicio/Accesorios/Herramientas/Programador de tareas).
Puedes ver ejemplos en Vista:
http://www.geekets.com/2008/06/tareas-programadas-deja-que-windows-trabaje-por-ti/
Aquí te cuentan cosas sobre esta herramienta:
http://technet.microsoft.com/es-es/library/aa906020.aspx
Pero la programación para lo que pretendes es bastante sencilla. Si te crea algún problema dímelo y verás como se puede resolver fácilmente.
Saludos,
GGG
Hola muhas gracias por tus comentarios te cuenta que ya resolví el problema de la ruta de las carpetas en el .rar tuve que aumentar el comando -p1 junto con los que me dijiste y eso ya quedo ahora solo falta ver lo del programador de tareas, la verdad entre pero no entendí mucho el funcionamiento, voy a revisar las páginas que me dices y te comento como me fue vale, y si tengo alguna duda te la hago saber para que me puedas ayudar por favor! Desde ya muchas gracias!
De acuerdo. Pero no te olvides de indicarme con que sistema operativo trabajas para centrar del todo el asunto, aunque deduzco que es Windows7.
Y no tengas ningún reparo en plantearme lo que se te ocurra. Si puedo ayudarte lo haré y si no puedo te lo diré.
Saludos,
GGG
Hola si se me olvidaba y deduces bien mi sistema es windows 7, y claro que te diré lo que se me ocurra la verdad no había trabajado con bat y me parece una opción muy útil para agilizar tareas, ¿una vez que tenga resuelto eso me preguntaba si es posible implementar ese código para hacer respaldos directamente a un servidor? Buen día y nuevamente gracias!
No sé como llevarás el conocimiento del "Programador de tareas" a estas alturas. Si no has avanzado mucho esto es lo que tendrías que hacer para programar la ejecución de la "tarea" lanzadora del BAT que estamos tratando:
Iniciar/Todos los programas/Accesorios/Herramientas del Sistema/Programador de tareas
Una vez dentro del Programador -> Acción/Crear tarea básica. Le pones un nombre (y una descripción si te parece interesante), eliges la "temporización" (puedes poner la que te parezca inicialmente porque luego la puedes cambiar), digamos que "Diariamente". Eliges la hora de ejecución (y el número de días que, como has elegido "Diariamente" estará en "1"). En "Acción" eliges "Iniciar un programa", buscas la ubicación del BAT mediante "Examinar" (si fuera necesario pasarle parámetros al BAT, o elegir una carpeta de inicio también podrías elegirlo). ¡Y ya está!
Para probar le puedes poner una hora cercana a la actual.
Para modificar los "parámetros" de la tarea solo tienes que localizarla en la "Biblioteca del programador" y revisar sus "Propiedades".
Intuyo que para cuando te llegue este mensaje ya no será muy necesario pero más vale pecar por exceso (al menos en estos casos).
Respecto a hacer los respaldos en un servidor, se puede, siempre que sea visible en la red de Windows (y a lo mejor también con otro tipo de visibilidad). Échale un vistazo al comando "NET USE" que te permitirá manejar carpetas de un servidor como si fueran carpetas locales.
Suerte. Saludos,
GGG
Hola mi querido experto te comento que ya quedo lo del administrador de tareas y ya quedo mi backup muchas gracias! En lo que respecta al servidor voy a revisar ese comando y te comento que tal me fue... de ante mano muchas gracias nuevamente!
Me alegro de que la cosa vaya marchando.
La consulta sigue abierta para lo que quieras comentarme.
Saludos,
GGG
Hola nuevamente con una consulta aprovechando de tus conocemientos, mira el teme es este con ese mismo programita para mi backup quiero que me lo guarde con el nombre por ejemplo Backup-AlterV1-27-04-11 osea el nombre y la fecha de cada día esto para saber cual es el respaldo y que no me reemplace el archivo del día anterior, esa es la idea espero me halla explicado, te dejo un código haber si es maso menos así o bien si tienes alguna sugerencia mejor! Y gracias a tu apoyo y ayuda eh aprendido mucho.. mil gracias en verdad!
%DATE:~0,2%-%DATE:~3,2%-%DAE:~6,4%
Efectivamente puedes hacerlo de la manera que dices.
El nombre del archivo sería:
Backup-AlterV1-%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%
(He añadido la "T" que te faltaba en el último "DATE")
¿Te ha dado algún problema la solución que propones?
Saludos,
GGG
Hola! No pues conr razón no me salia jejejeje gracias por lo de la "T" y no sin mayor complicación ya quedo ok. Muchas gracias nuevamente!
No sé si mantienes abierta la consulta con vistas al futuro o si te has olvidado de que sigue abierta. Puedes mantenerla así (creo que si pasa un tiempo sin actividad el sistema la descarta) o cerrarla y abrir otra cuando tengas alguna otra duda.
Saludos,
GGG

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas