@echooff
rem指定FTP用户名
setftpUser=asx
rem指定FTP密码
setftpPass=asx-asx
rem指定FTP服务器地址
setftpIP=172.19.103.7
rem指定待下载的文件位于FTP服务器的什么位置
setftpFolder=/export/home/PROD/ntcdata
rem指定从FTP下载下来的文件存放到什么地方
setLocalFolder=E:/Temp
rem指定下载几天前的文件
setDaysAgo=1
setftpDir=%temp%/TempDir.txt
setftpDown=%temp%/TempDown.txt
rem假设本机日期格式为yyyy-mm-dd
setFileY=%date:~0,4%
call:DateToDays%date:~0,4%%date:~5,2%%date:~8,2%PassDays
set/aPassDays-=DaysAgo
call:DaysToDate%PassDays%DstYearDstMonthDstDay
>"%ftpDir%"echo,%ftpUser%
>>"%ftpDir%"echo,%ftpPass%
>>"%ftpDir%"echobin
>>"%ftpDir%"echocd"%ftpFolder%"
>>"%ftpDir%"echodir*"%temp%/FileList.txt"
>>"%ftpDir%"echobye
startftp-v-i-s:"%ftpDir%"%ftpIP%
rem根据实际情况自行调节延迟时间
ping-n200127.1>nul
findstr/i":*/.SWM$""%temp%/FileList.txt">"%temp%/FileDate.txt"
findstr/i":*/.TWM$""%temp%/FileList.txt">>"%temp%/FileDate.txt"
findstr/i":*/.OWM$""%temp%/FileList.txt">>"%temp%/FileDate.txt"
>"%ftpDown%"echo.%ftpUser%
>>"%ftpDown%"echo.%ftpPass%
>>"%ftpDown%"echobin
>>"%ftpDown%"echocd"%ftpFolder%"
(for/f"usebackqtokens=1-9delims="%%ain("%temp%/FileDate.txt")do(
setlocalenabledelayedexpansion
if"%%f"equ"Jan"(
setFileM=01
)elseif"%%f"equ"Feb"(
setFileM=02
)elseif"%%f"equ"Mar"(
setFileM=03
)elseif"%%f"equ"Apr"(
setFileM=04
)elseif"%%f"equ"May"(
setFileM=05
)elseif"%%f"equ"Jun"(
setFileM=06
)elseif"%%f"equ"Jul"(
setFileM=07
)elseif"%%f"equ"Aug"(
setFileM=08
)elseif"%%f"equ"Sep"(
setFileM=09
)elseif"%%f"equ"Oct"(
setFileM=10
)elseif"%%f"equ"Nov"(
setFileM=11
)elseif"%%f"equ"Dec"(
setFileM=12
)
setFileD=10%%g
setFileD=!FileD:~-2!
if"!FileM!"equ"%DstMonth%"(
if"!FileD!"equ"%DstDay%"(
echoget"%%i""%LocalFolder%/%%i"
)
)
endlocal
))>>"%ftpDown%"
>>"%ftpDown%"echobye
startftp-v-i-s:"%ftpDown%"%ftpIP%
goto:eof
:DateToDays%yy%%mm%%dd%days
setlocalENABLEEXTENSIONS
setyy=%1&setmm=%2&setdd=%3
if1%yy%LSS200if1%yy%LSS170(setyy=20%yy%)else(setyy=19%yy%)
set/add=100%dd%%%100,mm=100%mm%%%100
set/az=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2
set/aj=j/5+dd+y*365+y/4-y/100+y/400-2472633
endlocal&set%4=%j%&goto:EOF
:DaysToDate%days%yymmdd
setlocalENABLEEXTENSIONS
set/aa=%1+2472632,b=4*a+3,b/=146097,c=-b*146097,c/=4,c+=a
set/ad=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/add=-dd+e+1,mm=-m/10,mm*=12,mm+=m+3,yy=b*100+d-4800+m/10
(if%mm%LSS10setmm=0%mm%)&(if%dd%LSS10setdd=0%dd%)
endlocal&set%2=%yy%&set%3=%mm%&set%4=%dd%&goto:EOF