Utilizamos cookies propias y de terceros. [Más información sobre las cookies].
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Wiki
Proyecto AjpdSoft: Foros

AjpdSoft :: Ver tema - Generar fichero log con fecha y hora en nombre batch .bat
Foros de discusión Buscar Perfil FAQ Iniciar sesión
Information Generar fichero log con fecha y hora en nombre batch .bat

Publicar nuevo tema Responder al tema
Foros de discusión » Windows 10, Windows 7, Windows Server 2010, W2008, W2003   
Ver tema anterior :: Ver tema siguiente
AutorMensaje
varios
Magnífico usuario


Registrado: Oct 10, 2006
Mensajes: 2092

Asunto: Generar fichero log con fecha y hora en nombre batch .bat Responder citando

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í:

resultado_20101013_0943.log

Donde:

2010 -> Año.
10 -> Mes.
13 -> Día.
09 -> Hora.
43 -> Minutos.

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?
MensajePublicado:
Mie Oct 13, 2010 7:06 am
Top of PageVer perfil de usuario
alonsojpd
Administrador/Moderador


Registrado: Sep 16, 2003
Mensajes: 2687

Asunto: Re: Generar fichero log con fecha y hora en nombre batch .ba Responder citando



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í:

resultado_20101013_0943.log

Donde:

2010 -> Año.
10 -> Mes.
13 -> Día.
09 -> Hora.
43 -> Minutos.

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
MensajePublicado:
Mie Oct 13, 2010 7:09 am
Top of PageVer perfil de usuario
varios
Magnífico usuario


Registrado: Oct 10, 2006
Mensajes: 2092

Asunto: Re: Generar fichero log con fecha y hora en nombre batch .ba Responder citando



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?
MensajePublicado:
Mie Oct 13, 2010 8:22 am
Top of PageVer perfil de usuario
alonsojpd
Administrador/Moderador


Registrado: Sep 16, 2003
Mensajes: 2687

Asunto: Re: Generar fichero log con fecha y hora en nombre batch .ba Responder citando



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%

if %HORA% LSS 10 set HORA=0%HORA%

REM En %HORA% tendremos la hora en formato HH
MensajePublicado:
Mie Oct 13, 2010 8:31 am
Top of PageVer perfil de usuario
Mostrar mensajes de anteriores:   
Todas las horas son GMT - 1 Horas
Publicar nuevo tema Responder al tema
Foros de discusión » Windows 10, Windows 7, Windows Server 2010, W2008, W2003  

Cambiar a:  
Key
  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