Foros del Web » Programación para mayores de 30 ;) » Programación General »

Operacion sobre archivo segun fecha en .bat

Estas en el tema de Operacion sobre archivo segun fecha en .bat en el foro de Programación General en Foros del Web. Hola amigos, les comento que estoy haciendo un .bat que busca extrae una linea de varios archivos contenidos en una carpeta y la guarda en ...
  #1 (permalink)  
Antiguo 18/03/2011, 06:52
 
Fecha de Ingreso: julio-2007
Mensajes: 178
Antigüedad: 17 años, 4 meses
Puntos: 1
Operacion sobre archivo segun fecha en .bat

Hola amigos, les comento que estoy haciendo un .bat que busca extrae una linea de varios archivos contenidos en una carpeta y la guarda en un txt...

me funciona perfectamente con este código:

Código:
FOR %%d IN (*.msg) DO (

for /f "tokens=3" %%f in ('findstr /i "address:" %%d') do (

set errores=%%f
echo %%f >> correos_rebotados.txt
)

)
Ahora lo que quiero hacer es solamente aplicar la búsqueda de la linea cuando el archivo .msg es de un día atrás...

Encontré un código para calcular el día anterior... pero no se como convidarlos correctamente pues

Tengo algo como esto:

Código:
@echo off
setlocal ENABLEEXTENSIONS
call :dias %date%
set /a j+= -1
call :inc %j%
 

:dias
for /f "tokens=1,2,3 delims=-/." %%a in ("%1") do (
   set dd=%%a&set mm=%%b&set yy=%%c)
set /a dd=100%dd%%%100,mm=100%mm%%%100
set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2
set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633

:inc
set /a a=%1+2472632,b=4*a+3,b/=146097,c=-b*146097,c/=4,c+=a
set /a d=4*c+3,d/=1461,e=-1461*d,e/=4,e+=c,m=5*e+2,m/=153,dd=153*m+2,dd/=5
set /a dd=-dd+e+1,mm=-m/10,mm*=12,mm+=m+3,yy=b*100+d-4800+m/10
(if %mm% LSS 10 set mm=0%mm%)&(if %dd% LSS 10 set dd=0%dd%)



FOR %%d IN (*.msg) DO (

echo %dd%/%mm%/%yy% >> correos_rebotados.txt

for /f "tokens=3" %%f in ('findstr /i "address:" %%d') do (

set errores=%%f
echo %%f >> correos_rebotados.txt
)

)
Si se les ocurres algo me darían una gran mano, desde ya mil gracias y suerte!!!

Etiquetas: operacion
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 15:36.