Ms-Dos - Grabar un Txt con fecha del dia

 
Vista:

Grabar un Txt con fecha del dia

Publicado por Yuri Torres (2 intervenciones) el 17/03/2009 05:50:36
Hola amigos tendo una consulta;
Sucede que tengo un archivo .Bat el cual se ejecuta todos los dias a travez de una tarea programada. pero sucede que aveces no puedo cambiar de nombre al archivo (SIEMPRE ES RESULTADO) x no estoy en la empresa, entonces necesito que no se grabe con el nombre RESULTADO si no que tenga como nombre la fecha que se ejecuto , asi de esta manera no renombre al mismo archivo y NO se pierda la data anterior , muchas gracias.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@echo off
 
if "%1" == "/P" goto Ping
 
echo Prueba realizada: %Date% - %Time% >Resultado.txt
 
FOR /F "tokens=1,2" %%a in (c:msdosips.txt) do call %0 /P %%a %%b
goto Fin
:ping
ping %2 >nul
 
if %ERRORLEVEL% GEQ 1 goto Mal
echo IP %2 %3    Encendido >>Resultado.txt
goto Fin
 
:Mal
echo IP %2 %3    Apagado >>Resultado.txt
 
:Fin
C:msdos>Type   Resultado.bat
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Grabar un Txt con fecha del dia

Publicado por Antoni Masana (295 intervenciones) el 17/03/2009 11:55:29
Esto es otra forma de solucionarlo. Pero OJO que los numeros del SET pueden variar en funcion de la Version del sistema y la configuración del formato de la fecha al igual que la solución de Armando. Es lo que tiene este sistema.
1
2
3
4
5
6
@echo off
set aa=%date:~6,2%
set mm=%date:~3,2%
set dd=%date:~0,2%
 
IP %2 %3 >Resultado.%aa%.%mm%.%dd%.Txt

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Grabar un Txt con fecha del dia

Publicado por Yuri Torres (4 intervenciones) el 31/03/2009 20:16:29
Por favor podrian detallar como es que tengo que grabar el bat he intentado de las formas que me dijeron pero no funciona, les agradeceria mucho si pudieran editar el codigo que envie y modificarlo como me indicaron y asi correrlo directamente en mi PC. PPluis
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Grabar un Txt con fecha del dia

Publicado por amparitohijo (94 intervenciones) el 01/04/2009 11:33:00
Hola Yuri. ¿Es esto lo que pides?

Una observación: cuidado con la configuración de fecha. Antes de nada, prueba lo siguiente:

Escribe en msdos la sentencia DATE /T y observa el resultado. Como puedes suponer, existen varias configuraciones del formato de fecha, dependiendo de la configuración regional o incluso de la versión del sistema operativo:

1) Mié 01/04/2009
2) 01/04/2009
3) 04/01/2009
4) 2009/01/04
5) ... y muchas más ...

Los casos 1 al 4 son los más usuales. Lo que queremos conseguir es la fecha en formato año-mes-día (es la más sencilla para buscar y organizar).

1) En el primer caso habría que escribir:
for /f "tokens=1,2,3,4* delims=/, " %%a in ('date /t') do set yyyymmdd=%%d%%c%%b
para conseguir la fecha 20090401

2) En el segundo:
for /f "tokens=1,2,3,4* delims=/, " %%a in ('date /t') do set yyyymmdd=%%c%%b%%
para conseguir la misma fecha (20090401)

3) En el tercero:
for /f "tokens=1,2,3,4* delims=/, " %%a in ('date /t') do set yyyymmdd=%%c%%a%%b

4) En el cuarto:
for /f "tokens=1,2,3,4* delims=/, " %%a in ('date /t') do set yyyymmdd=%%a%%b%%c

En el script modificado que te incluyo a continuación, lo único que deberías hacer es cambiar la línea que establece la variable YYYYMMDD para ajustarla a tu configuración con las pistas que te doy anteriormente. Espero que no tengas problemas. Si no sabes cómo hacerlo, por favor, escribe otro post con el resultado del comando " DATE /T " para poder ayudarte.

Como opción he incluído la variable HHMM, que es la hora del sistema con formato hhmmss. Esto también depende de la configuración que tengas, pero por norma general funciona en casi todos los equipos (a no ser que hayas "tuneado" la fecha del sistema para incluir otros caracteres separadores, cosa que no creo...)

En fin, que me lío y no hay quién me pare. Me sale la vena docente... Si tienes problemas, no dudes en consultarnos.

Salu2

:: Comienzo del script ::

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
@echo off
 
REM Establece la variable YYYYMMDD con la fecha del sistema
FOR /F "TOKENS=1,2,3,4* DELIMS=/, " %%a IN ('DATE /T') DO SET YYYYMMDD=%%d%%c%%b
 
REM Establece la variable HHMM con la hora del sistema
FOR /F "TOKENS=1-4 DELIMS=:., " %%a IN ('TIME /T') DO SET HHMM=%%a%%b%%c
 
if "%1" == "/P" goto Ping
 
echo Prueba realizada: %Date% - %Time% >Resultado_%YYYYMMDD%_%HHMM%.txt
 
FOR /F "tokens=1,2" %%a in (c:msdosips.txt) do call %0 /P %%a %%b
goto Fin
:ping
ping %2 >nul
 
if %ERRORLEVEL% GEQ 1 goto Mal
echo IP %2 %3 Encendido >>Resultado_%YYYYMMDD%_%HHMM%.txt
goto Fin
 
:Mal
echo IP %2 %3 Apagado >>Resultado_%YYYYMMDD%_%HHMM%.txt
 
:Fin
C:msdos>Type Resultado.bat
 
:: Final del script::
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Grabar un Txt con fecha del dia

Publicado por yuri torres (4 intervenciones) el 06/04/2009 03:38:34
Hola Amparito, cambie los datos que me indicastes, el formato de la fecha es 31/04/2009 y la hora es 08:22 PM pero al ejecutarlo solo me aparece como nombre del archivo resultado_.txt ,ignoro porque razon no contatena la fecha ni la hora , y el contenido del archivo solo es :

Prueba realizada: 05/04/2009 - 20:35:02.73
IP 10.185.59.85 Luis.Mancila.Canales Apagado
IP Apagado
IP Apagado

COMO SI SOLO EJECUTARA PING A LA PRIMERA PC, Y NO AL RESTO . POR FAVOR TE AGRADECERIA QUE ME AYUDASES CON ESTE TEMA ES URGENTE.
ESTO ES EL CODIGO QUE EJECUTO

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
@echo off
 
REM Establece la variable YYYYMMDD con la fecha del sistema
for /f "tokens=1,2,3,4* delims=/, " %%a in ('date /t') do set yyyymmdd=%%c%%b%%a 
 
REM Establece la variable HHMM con la hora del sistema
FOR /F "TOKENS=1-4 DELIMS=:., " %%a IN ('TIME /T') DO SET HHMM=%%a%%b%%c 
 
if "%1" == "/P" goto Ping
 
echo Prueba realizada: %Date% - %Time% >Resultado_%YYYYMMDD%_%HHMM%.txt
 
FOR /F "tokens=1,2" %%a in (c:msdosips.txt) do call %0 /P %%a %%b
goto Fin
:ping
ping %2 >nul
 
if %ERRORLEVEL% GEQ 1 goto Mal
echo IP %2 %3 Encendido >>Resultado_%YYYYMMDD%_%HHMM%.txt
goto Fin
 
:Mal
echo IP %2 %3 Apagado >>Resultado_%YYYYMMDD%_%HHMM%.txt
 
:Fin
C:msdos>Type Resultado.bat
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Grabar un Txt con fecha del dia

Publicado por amparitohijo (94 intervenciones) el 06/04/2009 11:04:48
Buenas.

Eso es que no utilizas bien el nombre de la variable. Debes haberla puesto mal en algún sitio. Prueba lo siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
@echo off
 
REM Establece la variable YYYYMMDD con la fecha del sistema
for /f "tokens=1,2,3,4* delims=/, " %%a in ('date /t') do set dia=%%c%%b%%a
 
REM Establece la variable HHMM con la hora del sistema
FOR /F "TOKENS=1-4 DELIMS=:., " %%a IN ('TIME /T') DO SET hora=%%a%%b%%c
 
if "%1" == "/P" goto Ping
 
echo Prueba realizada: %Date% - %Time% > Resultado_%YYYYMMDD%_%HHMM%.txt
 
FOR /F "tokens=1,2" %%a in (c:\msdosips.txt) do call %0 /P %%a %%b
goto Fin
:ping
ping %2 >nul
 
if %ERRORLEVEL% GEQ 1 goto Mal
echo IP %2 %3 Encendido >>Resultado_%dia%_%hora%.txt
goto Fin
 
:Mal
echo IP %2 %3 Apagado >>Resultado_%dia%_%hora%.txt
 
:Fin
Type Resultado.bat
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Grabar un Txt con fecha del dia

Publicado por fede (1 intervención) el 08/09/2016 16:13:06
Hola Amigos, necesito ayuda con este .bat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@echo off
set anio=%date:~6,4%
set mes=%date:~3,2%
set dia=%date:~0,2%
echo %anio%%mes%%dia%.log
c:
cd c:\900 - copia
pause
 
date 22-12-2010
 
start C:\900 - copia/SERVIDOR/SVRM.EXE
 
start C:\900 - copia/CLIENTE/xxx.EXE
 
date %anio%%mes%%dia%
exit

mis conocimientos son muyyyy escasos, lo que necesito es que el bat tome la fecha actual, luego cambie a 22-12-2010, ejecute un soft y luego vuelva a la fecha original.
Hasta ahora logro obtener la fecha, que se cambie al 2010 y ejecute el soft, pero no puedo hacer que regrese a la fecha original, me dan una mano?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Grabar un Txt con fecha del dia

Publicado por MARCO (1 intervención) el 24/04/2009 23:01:39
Excelente! Me ayudo mucho, para implementarlo con otro fin efectivamente. Donde podré encontrar algo más completo acerca delos comandos que solo se pueden ejecutar en un batch?
El uso de variables? Leer entradas del teclado u otro dispositivo... etc...
Si alguien puede completar esta información gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Grabar un Txt con fecha del dia

Publicado por rolando (1 intervención) el 25/04/2009 00:00:02
Buenas dias

esta muy buenos el articulo, buenos tengo un incobeniente eh creado una *.bat y una tara programada que el man se conecte a una bases de dato y me saque un reporte con y me lo ponga en un servidor de arcivos en cual los usuarios al dia siguiente lo miren pero el problama es el siguiente yo quiero el nombre del archivo tenga la fecha de un dia anterior
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Grabar un Txt con fecha del dia

Publicado por jlreyes (1 intervención) el 06/06/2009 17:31:02
Hola, colegas

He estado leyendo todo lo relacionado al tema ya que estaba buscando algo parecido a esto, que dicho sea de paso encontre la solución en este foro hace ya mucho tiempo.

Pero me ha surgido un nuevo problema que quisiera saber si me pueden ayudar.

Yo lo que quiero hacer entre otras cosas es crear una carpeta con la fecha y hora del sistema, para lo cual tengo lo siguiente:

@echo off

REM Crear Carpeta con la fecha y Hora
REM cambiarle el formato a la fecha
REM Asignarle a la variable Fecha la fecha del sistema
SET Fecha=%DATE%

REM Quitarle a la fecha los /
SET Fecha=%Fecha:/=%

REM Cambiarle el formato a la Hora del sistema
REM Asigno a la variable Hora la Hora del sistema
SET Hora=%Time%

REM Le quito el formato de la hora, los Ultimos 6 caracteres.
SET Hora=%time:~0,-6%

REM Elimino los dos puntos de la hora que me da el sistema.
SET Hora=%Hora::=%

MD %Fecha%_%Hora%

Esto me funciona bien PERO nunca habia hecho una carpeta en la mañana antes de las 10:00 AM.

Resulta que cuando la hora es de 01:00 AM a 09:00 AM, me crea dos carpetas una con la fecha _ y otra con solo la hora pero sin el cero delante, me sale asi:

ddmmaa_
hmm

y lo que estoy buscando es que la nueva carpeta quede con el nombre ddmmaa_hhmm

Me pueden ayudar con este problema ???

Gracias ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Grabar un Txt con fecha del dia

Publicado por Conectao (1 intervención) el 01/06/2012 10:23:50
es facil, casi te lo han dicho en el post...
usa esto antes de usar la variable:

SET Fecha=%Fecha: =0%
SET Hora=%Hora: =0%

(entre : y = hay un espacio)


y cambias los espacios en blancos por ceros

... de nada :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Grabar un Txt con fecha del dia

Publicado por Daniel Roldan (1 intervención) el 04/07/2013 20:28:49
Estimados,

en cuanto a la consulta de Rolando, fue hace mucho tiempo ya, pero en el trabajo necesito copiar un archivo pero este tiene la particularidad de tener la fecha del día anterior.

me podrían ayudar?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Grabar un Txt con fecha del dia

Publicado por alicia (1 intervención) el 02/12/2009 22:48:45
qisiera saber como se configura la hora y la fecha en msdos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Grabar un Txt con fecha del dia

Publicado por Vidalchoco (1 intervención) el 25/07/2014 20:28:08
hola, al hacerlo no me guardaba el archivo, por que al genera la fecha, le deja un espacio en blanco, se lo quite y me quedo muy bien, se los comparto, y muchas gracias a Amparito, ;)

FOR /F "TOKENS=1,2,3 DELIMS=/, " %%a IN ('DATE/T') DO SET fecha=%%a%%b%%c
FOR /F "TOKENS=1-4 DELIMS=:., " %%a IN ('TIME /T') DO SET hora=%%a%%b%%c
SET cor=%fecha:~0,-1%
SET sal=%cor%_%hora%_log.txt
echo existe>%sal%
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar