@echooff
rem指定FTP用户名
setftpUser=xxx
rem指定FTP密码
setftpPass=xxxxxxx
rem指定FTP服务器地址
setftpIP=xxx.xxx.xxx.xx
rem指定待下载的文件位于FTP服务器的什么位置
setftpFolder=/export/home/PROD/ntcdata
rem指定从FTP下载下来的文件存放到什么地方
setDownFolder=E:/
rem指定下载几分钟前的文件
setMinsAgo=60
setftpDir=%temp%/TempDir2.txt
setftpDown=%temp%/TempDown2.txt
rem假设本机日期时间格式为yyyy-mm-ddhh:nn:ss
setFileY=%date:~0,4%
if%time:~0,2%lss10(sethh=0%time:~1,1%)else(sethh=%time:~0,2%)
call:DateToMins%date:~0,4%%date:~5,2%%date:~8,2%%hh%%time:~3,2%Mins
set/aMins-=MinsAgo
call:MinsToDate%Mins%DstYearDstMonthDstDayDstHourDstMin
>"%ftpDir%"echo.%ftpUser%
>>"%ftpDir%"echo.%ftpPass%
>>"%ftpDir%"echobin
>>"%ftpDir%"echocd"%ftpFolder%"
>>"%ftpDir%"echodir*"%temp%/FileList2.txt"
>>"%ftpDir%"echobye
startftp-v-i-s:"%ftpDir%"%ftpIP%
rem根据实际情况自行调节延迟时间
ping-n350127.1>nul
findstr/i":*/.SWM$""%temp%/FileList2.txt">"%temp%/FileDate2.txt"
findstr/i":*/.TWM$""%temp%/FileList2.txt">>"%temp%/FileDate2.txt"
findstr/i":*/.OWM$""%temp%/FileList2.txt">>"%temp%/FileDate2.txt"
>"%ftpDown%"echo.%ftpUser%
>>"%ftpDown%"echo.%ftpPass%
>>"%ftpDown%"echobin
>>"%ftpDown%"echocd"%ftpFolder%"
(for/f"usebackqtokens=1-10delims=:"%%ain("%temp%/FileDate2.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!
setFileH=10%%h
setFileH=!FileH:~-2!
if"!FileM!"equ"%DstMonth%"(
if"!FileD!"equ"%DstDay%"(
if"!FileH!"equ"%DstHour%"(
echoget"%%j""%DownFolder%/%%j"
)
)
)
endlocal
))>>"%ftpDown%"
>>"%ftpDown%"echobye
startftp-v-i-s:"%ftpDown%"%ftpIP%
rem根据实际情况自行调节延迟时间
remping-n700127.1>nul
goto:eof
:DateToMins%yy%%mm%%dd%%hh%%mm%
setlocalENABLEEXTENSIONS
setyy=%1&setmm=%2&setdd=%3&sethh=%4&setnn=%5
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
if1%hh%LSS20sethh=0%hh%
if{%nn:~2,1%}EQU{p}if"%hh%"NEQ"12"sethh=1%hh%&set/ahh-=88
if{%nn:~2,1%}EQU{a}if"%hh%"EQU"12"sethh=00
if{%nn:~2,1%}GEQ{a}setnn=%nn:~0,2%
set/ahh=100%hh%%%100,nn=100%nn%%%100,j=j*1440+hh*60+nn
endlocal&set%6=%j%&goto:EOF
:MinsToDate%mins%yymmddhhnn
setlocalENABLEEXTENSIONS
set/ai=%1,nn=i%%60,i/=60,hh=i%%24,dd=i/24,i/=24
set/aa=i+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%)
(if%hh%LSS10sethh=0%hh%)&(if%nn%LSS10setnn=0%nn%)
endlocal&set%6=%nn%&set%5=%hh%&set%4=%dd%&^
set%3=%mm%&set%2=%yy%&goto:EOF