正文
【自用】bat ftp下载前一天备份
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
@echo offrem 指定FTP用户名
set ftpUser=app
rem 指定FTP密码
set ftpPass=app
rem 指定FTP服务器地址
set ftpIP=192.168.1.1
rem 指定待下载的文件位于FTP服务器的哪个目录
set ftpFolder=F:\oraclebak
rem 指定从FTP下载下来的文件存放到本机哪个目录
set LocalFolder=G:\DB_BACKUP\oraclebakrem 计算指定天数之前的日期
set DaysAgo=
rem 假设系统日期的格式为yyyy-mm-dd
call :DateToDays %date:~,% %date:~,% %date:~,% PassDays
set /a PassDays-=%DaysAgo%
call :DaysToDate %PassDays% DstYear DstMonth DstDay
set DstDate=%DstYear%%DstMonth%%DstDay%
REM echo orcl_%DstDate%_210000.rar
REM 开始FTP下载
set ftpFile=%temp%/TempFTP.txt
>"%ftpFile%" (
echo,%ftpUser%
echo,%ftpPass%
echo cd "%ftpFolder%"
echo lcd "%LocalFolder%"
echo hash
REM echo bin
echo get orcl_%DstDate%_210000_log.log
echo get orcl_%DstDate%_210000.rar
REM echo bye
)
start ftp -s:"%ftpFile%" %ftpIP%
REM pause
goto :eof:DateToDays %yy% %mm% %dd% days
setlocal ENABLEEXTENSIONS
set yy=%&set mm=%&set dd=%
if %yy% LSS if %yy% LSS (set yy=%yy%) else (set yy=%yy%)
set /a dd=%dd%%%,mm=%mm%%%
set /a z=-mm,z/=,y=yy+-z,m=mm+*z-,j=*m+
set /a j=j/+dd+y*+y/-y/+y/-
endlocal&set %=%j%&goto :EOF:DaysToDate %days% yy mm dd
setlocal ENABLEEXTENSIONS
set /a a=%+,b=*a+,b/=,c=-b*,c/=,c+=a
set /a d=*c+,d/=,e=-*d,e/=,e+=c,m=*e+,m/=,dd=*m+,dd/=
set /a dd=-dd+e+,mm=-m/,mm*=,mm+=m+,yy=b*+d-+m/
(if %mm% LSS set mm=%mm%)&(if %dd% LSS set dd=%dd%)
endlocal&set %=%yy%&set %=%mm%&set %=%dd%&goto :EOF
本文为自用,如有不明白可联系博主。