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