Concatenar hora en .bat

Guille como andas, ¿tanto tiempo?

Acá con mucho calor(es invierno), digamos que frio no hemos tenido

La verdad que lo que te voy a preguntar es bastante sencillo

Tengo el siguiente bat

--------------------------------------------

set Any=%Date:~6%
set Mes=%Date:~3,2%
set Día=%Date:~0,2%
set Fecha=%any%-%Mes%-%día%
set horas = %time:~0,2%
set min = %time:~3,2%
"C:\Program Files (x86)\Winrar\rar" a -ep1 C:\backup\backup_%Fecha%_%horas%%min% C:\backup\*.*
Pause

Si ves en la parte de arriba, hay dos variables definidas

Una me guarda la hora y la otra los minutos

Haciendol echo me muestra bien los datos

El problema es cuando lo quiero concatenar en la variable que me crea.

Me crea el archivo "backup_2013-07-28" pero no me agrega la hora como le digo que lo haga...

He probado pero la verdad no se como hacerlo

No tiene nada raro

1 respuesta

Respuesta
1

Encantado de volver a saber de ti.

Me ha pasado una cosa muy curiosa que, aunque no tiene mucho que ver con el asunto, te cuento:.

He copiado tu código y he hecho "echo" en lugar del comando RAR y, aunque tú me comentabas que con "echo" iba bien, a mí tampoco con el echo me aparecía ni la hora ni los minutos. Lo he hecho por empezar con algo, no porque no me fiara de ti, ¿eh? ;-) Pues resulta que salía esto:

backup_2013-07-29_

Ante esto he comprobado que los SET de "horas" y "min" tenían espacios rodeando al "=" a diferencia de los otros SET. Aunque no pensaba que pudiera ser eso, como me consta que la "programación BAT" tiene muchas cosas raras decidí empezar por eliminar esos espacios y una vez corregido el mismo BAT el resultado era:

backup_2013-07-29_ 918

(Cuando hice la prueba eran las 9:18 como puede verse).

Decidí determinar que espacio era el culpable, si el que precede al igual o el que le sigue y en las correspondientes pruebas resultó que ni uno ni otro. Funcionaba igual de bien con espacios o sin ellos. Pensé que tal vez los espacios aparentes no eran espacios normales por lo que repetí el copiado y no pude reproducir el primer resultado. ¡Cosa de brujas!

Pero la prueba me dio una posible pista. Si observas las 9 horas no las pone como "09" sino como " 9" con un espacio precediendo. Yo creo que ese es el problema. Habrás probado siempre antes de las 10 de la mañana y entonces el espacio finaliza el parámetro del comando RAR y el resto de la hora y los minutos supongo que los ignora (de hecho he visto en mis pruebas que si ya pongo el comando RAR me dice algo como "No se puede abrir 930" en la prueba hecha a las 09:30)

Si encaja mi explicación la solución podría ser añadir

if %horas% lss 10 set horas=%horas: =0%

Para que " 9" lo convierta en "09".

Creo que he tenido la suerte de hacer las pruebas antes de las 10, porque si llego a hacerlas después es muy probable que no hubiera podido resolver el problema (que hubiera pasado a ser un enigma)

Ya me contarás.

Un abrazo,

GGG

Hola guille como andas y gracias por responder tan rapido....

La verdad que tenias razón en ese "pequeño" detalle. Es mas, no se me había cruzado por la cabeza ese problema....

Lo probé agregando el if y cambiando la hora y funciono de mil maravillas....

ahora voy a poder ponerlo en producción...

la verdad que sos el "as" de los batch....

muchisimias gracias y nos vemos la proximaaaaaa, con un nuevo problema batch...ja ja

saludos cordiales

diego muller

He visto que esta pregunta sigue sin cerrarse, al menos según la nueva versión de la página. En este caso estoy seguro de que el problema se resolvió, por lo que te pido que la cierres.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas