Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/03/2011, 06:52
hermess87
 
Fecha de Ingreso: julio-2007
Mensajes: 178
Antigüedad: 16 años, 9 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!!!