Foros del Web » Programación » Programación General »

Batch: Obtener fecha de un archivo .txt

Estas en el tema de Batch: Obtener fecha de un archivo .txt en el foro de Programación General en Foros del Web. Que tal, tengo el siguiente lió (Archivo batch): Necesito leer de un archivo de texto la fecha que viene en el cuarto campo. En cada ...
  #1 (permalink)  
Antiguo 24/01/2011, 12:40
 
Fecha de Ingreso: enero-2011
Mensajes: 14
Antigüedad: 3 años, 7 meses
Puntos: 0
Pregunta Batch: Obtener fecha de un archivo .txt

Que tal, tengo el siguiente lió (Archivo batch):
Necesito leer de un archivo de texto la fecha que viene en el cuarto campo.
En cada renglon vienen 34 campos, los cuales estan separados por ";".
Aqui un ejemplo corto de tan solo 3 renglones:
----------------------------------------------------------------------------------------
40;003600100493;198;20.01.11;;;50164;;;/;-13.00;;;20.01.11;;;8000378008;NO INFORMA;;;/;/;;;;;;;;;;;;;;
40;003600100493;198;20.01.11;;;50164;;;/;-443.00;;;20.01.11;;;8000378008;NO INFORMA;;;/;/;;;;;;;;;;;;;;
40;003600100493;198;20.01.11;;;50164;;;/;-2767.00;;;20.01.11;;;8000378008;NO INFORMA;;;/;/;;;;;;;;;;;;;;
----------------------------------------------------------------------------------------

Bueno el punto es:
Necesito ubicarme en el cuarto campo para obtener la fecha y guardarlo en una variable para posteriormente guardar este archivo como un backup con la nomenclatura siguiente: "Archivo"_"FechaMovimientos".txt
Donde Archivo es un nombre comun y FechaMovimientos es la fecha que obtuvimos del cuarto campo.

Lo que llevo hasta hoy es, obtener el 4 campo de cada renglon del archivo con la siguiente instruccion:
FOR /F "TOKENS=4 DELIMS=;" %M IN (Test.txt) DO @ECHO %M

La salida es:
20.01.11
20.01.11
20.01.11

No se como guardar este valor en una variable %FechaArch% para despues
renombrar el archivo anexando este valor al final.

Mi objetivo final es que el archivo se llame:
Archivo_200111.txt

Agradeceria toda ayuda posible....
  #2 (permalink)  
Antiguo 24/01/2011, 13:10
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Aqui y alla :)
Mensajes: 4.790
Antigüedad: 8 años
Puntos: 535
Respuesta: Batch: Obtener fecha de un archivo .txt

echo off


for /f "tokens=4 delims=;" %%a in (testing_file3.txt) do (
echo > archivo_%%a.txt
)



Prueba con esto :)

Saludos!
  #3 (permalink)  
Antiguo 24/01/2011, 13:55
 
Fecha de Ingreso: enero-2011
Mensajes: 14
Antigüedad: 3 años, 7 meses
Puntos: 0
Exclamación Respuesta: Batch: Obtener fecha de un archivo .txt

Gracias por la rapida respuesta.

He puesto lo que me dices pero me regresa:
%%a was a unexpected at this time
  #4 (permalink)  
Antiguo 24/01/2011, 14:44
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Aqui y alla :)
Mensajes: 4.790
Antigüedad: 8 años
Puntos: 535
Respuesta: Batch: Obtener fecha de un archivo .txt

Pusiste el ejemplo tal cual?

Tu archivo respeta la nomenclatura que pusiste, cambiaste el nombre de testing_file3.text por el del achivo que estas usando?

Puedes poner el codigo que te mando el error?

Saludos!
  #5 (permalink)  
Antiguo 24/01/2011, 15:00
 
Fecha de Ingreso: enero-2011
Mensajes: 14
Antigüedad: 3 años, 7 meses
Puntos: 0
Exclamación Respuesta: Batch: Obtener fecha de un archivo .txt

Que onda Libras
Puse el comando siguiente:
for f/f "tokens=4 delims=;" %%a in (Test.txt) do (echo > Archivo_%%a.txt)
Resultado:
%%a was unexpected at this time
  #6 (permalink)  
Antiguo 24/01/2011, 15:05
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Aqui y alla :)
Mensajes: 4.790
Antigüedad: 8 años
Puntos: 535
Respuesta: Batch: Obtener fecha de un archivo .txt

for /f "tokens=4 delims=;" %%a in (Test.txt) do (
echo > Archivo_%%a.txt
)


Prueba con ese :)

Saludos!
  #7 (permalink)  
Antiguo 24/01/2011, 15:12
 
Fecha de Ingreso: enero-2011
Mensajes: 14
Antigüedad: 3 años, 7 meses
Puntos: 0
Exclamación Respuesta: Batch: Obtener fecha de un archivo .txt

Sigue igual Libras
Comando:
for /f "tokens=4 delims=;" %%a in (test.txt) do (echo > Archivo_%%a.txt)
Output:
%%a was unexpected at this time

Te recuerdo que lo que necesito es guardar el valor SOLO UNA VEZ en una variable para posteriormente renombrar el archivo Test.txt por Test_200111.txt
  #8 (permalink)  
Antiguo 24/01/2011, 15:25
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Aqui y alla :)
Mensajes: 4.790
Antigüedad: 8 años
Puntos: 535
Respuesta: Batch: Obtener fecha de un archivo .txt

Mira yo lo probe y con eso me crea un archivo con el nombre de arvhivo_fecha.txt, ahora si quieres ponerlo en una variable haz esto:

set /a variable=%%a

Saludos!
  #9 (permalink)  
Antiguo 24/01/2011, 16:11
 
Fecha de Ingreso: enero-2011
Mensajes: 14
Antigüedad: 3 años, 7 meses
Puntos: 0
Respuesta: Batch: Obtener fecha de un archivo .txt

Gracias...si me funciono.

Abusando un poco...la verdad no tiendo el porque pusiste %%a (PERO FUNCIONA!). Y no me quiero quedar asi...quisiera saber el porque y si este tipo de variable es un argumento del FOR saber si hay mas que me puedan servir para otras cosas.

Tendra alguna liga de donde consultar este tipo de informacion?

Saludos y nuevamente gracias.
  #10 (permalink)  
Antiguo 24/01/2011, 16:17
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Aqui y alla :)
Mensajes: 4.790
Antigüedad: 8 años
Puntos: 535
Respuesta: Batch: Obtener fecha de un archivo .txt

En la documentacion que he encontrado manejan con %% los parametros de un for y use el %%a porque es como declare la variable en el for

for /f "tokens=4 delims=;" %%a in (test.txt) do (echo > Archivo_%%a.txt)

para mas informacion ve la siguiente liga :)

http://www.palomatica.info/juckar/mi...s/bat/for.html

Saludos!
  #11 (permalink)  
Antiguo 24/01/2011, 16:31
 
Fecha de Ingreso: enero-2011
Mensajes: 14
Antigüedad: 3 años, 7 meses
Puntos: 0
Respuesta: Batch: Obtener fecha de un archivo .txt

Gracias Men!
  #12 (permalink)  
Antiguo 27/08/2011, 12:18
Avatar de liz13_1985  
Fecha de Ingreso: agosto-2011
Mensajes: 1
Antigüedad: 3 años
Puntos: 0
Respuesta: Batch: Obtener fecha de un archivo .txt

libra te eh enviado un mensaje pero tambien lo mando por aqui
el asunto es el siguiente

quisisera saber como hacer un bat sobre la fecha de windows.

por ejemplo yo tengo un bat con lo siguiente>
@echo off
date 26/08/2008
exit
bueno esto me cambia a la fecha del 2008
pero lo que quisiera conseguir es crear otro bat que me regrese a la fecha anteior que se
27/08/2011
bueno yo pense que podria ser otro bat que antes de que modifique la fecha al 2008 ejecutar el bat
de la fecha actual del sistema y lo guarde en un txt, luego ejecutar el bat que cambia la fecha al 2008 despues de un tiempo ejecutar el bat que creoo el txt con la fecha original y ejecutarlo para que regrese la fecha que tenia por defecto que es 27/08/2011 no se si me explico
por favor me puedes ayudar si fuera posible hacerce quisiera estos bat por separado
o si tienes otra solucion me podrias ayudar
gracias feliz dia estare pendiente de tu respuesta

Etiquetas: batch
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:23.
SEO by vBSEO 3.3.2