Asunto: Generar fichero log con fecha y hora en nombre batch .bat
Estoy haciendo un fichero .bat de proceso por lotes (batch) en Windows Server 2003. Ejecuto varias cosas y quiero que el resultado de la ejecución de una aplicación (que devuelve un texto) me lo guarde en un fichero.
Hasta aquí no hay problema, hago algo así y funciona perfectamente:
Código:
c:
cd backup
cd facturacion
del *.* /q
copia_seguridad.bat >> resultado.log
Lo anterior funciona, pero quisiera que en vez de guardar el resultado en "resultado.log" se guardase en un fichero con el añó, el mes, el día, la hora y el minuto en el nombre. Algo así:
La idea es guardar un fichero de log por cada día pues la tarea programada se ejecuta una vez al día.
¿Se puede obtener en una variable de un fichero de proceso por lotes la fecha en este formato?
Publicado:
Mie Oct 13, 2010 7:06 am
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Generar fichero log con fecha y hora en nombre batch .ba
Anuncios
varios escribió:
Estoy haciendo un fichero .bat de proceso por lotes (batch) en Windows Server 2003. Ejecuto varias cosas y quiero que el resultado de la ejecución de una aplicación (que devuelve un texto) me lo guarde en un fichero.
Hasta aquí no hay problema, hago algo así y funciona perfectamente:
Código:
c:
cd backup
cd facturacion
del *.* /q
copia_seguridad.bat >> resultado.log
Lo anterior funciona, pero quisiera que en vez de guardar el resultado en "resultado.log" se guardase en un fichero con el añó, el mes, el día, la hora y el minuto en el nombre. Algo así:
La idea es guardar un fichero de log por cada día pues la tarea programada se ejecuta una vez al día.
¿Se puede obtener en una variable de un fichero de proceso por lotes la fecha en este formato?
Sí que es posible y existen varios métodos, en función de la imaginación del programador. Por ejemplo:
Código:
set anio=%date:~6,4%
set mes=%date:~3,2%
set dia=%date:~0,2%
set hora=%time:~0,2%
set hora=%hora: =0%
set minuto=%time:~3,2%
set segundo=%time:~6,2%
c:
cd backup
cd facturacion
del *.* /q
copia_seguridad.bat >> resultado_%anio%%mes%%dia%_%hora%%minuto%.log
Publicado:
Mie Oct 13, 2010 7:09 am
varios Magnífico usuario
Registrado: Oct 10, 2006 Mensajes: 2092
Asunto: Re: Generar fichero log con fecha y hora en nombre batch .ba
Anuncios
alonsojpd escribió:
Sí que es posible y existen varios métodos, en función de la imaginación del programador. Por ejemplo:
Código:
set anio=%date:~6,4%
set mes=%date:~3,2%
set dia=%date:~0,2%
set hora=%time:~0,2%
set hora=%hora: =0%
set minuto=%time:~3,2%
set segundo=%time:~6,2%
c:
cd backup
cd facturacion
del *.* /q
copia_seguridad.bat >> resultado_%anio%%mes%%dia%_%hora%%minuto%.log
Estupendo, funciona bien, obtiene el día, mes, año, hora y minuto y lo pone en el nombre del fichero de log resultante. Pero en algunos equipos, por rizar el rizo, la hora me aparece (cuando es un sólo dígito) sin un cero delante, me interesa que sea del tipo:
AAMMDD_HHMM
¿cómo puedo hacer esto?
Publicado:
Mie Oct 13, 2010 8:22 am
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Generar fichero log con fecha y hora en nombre batch .ba
Anuncios
varios escribió:
Estupendo, funciona bien, obtiene el día, mes, año, hora y minuto y lo pone en el nombre del fichero de log resultante. Pero en algunos equipos, por rizar el rizo, la hora me aparece (cuando es un sólo dígito) sin un cero delante, me interesa que sea del tipo:
AAMMDD_HHMM
¿cómo puedo hacer esto?
Para que en la hora te mantenga siempre el formato HH (dos dígitos, añadiendo cero a la izquierda si es de un dígito), puedes usar esto:
Código:
set HORA_COMPLETA=%TIME%
set HORA=%HORA_COMPLETA:~0,2%
set HORA=%HORA: =%
set MINUTOS=%HORA_COMPLETA:~3,2%
set SEGUNDOS=%HORA_COMPLETA:~6,2%
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A