写道

@echo off

set backhome=back

set year=%date:~0,4%

set month=%date:~5,2%

set day=%date:~8,2%

set mydate=%year%%month%%day%

set hhmmss=%time:~0,2%%time:~3,2%%time:~6,2%

if "%hhmmss:~0,1%"==" " set hhmmss=0%time:~1,1%%time:~3,2%%time:~6,2%

mkdir e:\%backhome%\%mydate%

echo ------------------------------------------------ >> e:\%backhome%\%mydate%\log.txt

echo start backup at %mydate%_%hhmmss% >> e:\%backhome%\%mydate%\log.txt

echo ------------------------------------------------ >> e:\%backhome%\%mydate%\log.txt

exp andacms/******@ORCL file=e:\%backhome%\%mydate%\andacms_%mydate%.dmp owner=andacms BUFFER=512000000 2>> e:\%backhome%\%mydate%\log.txt

echo ------------------------------------------------ >> e:\%backhome%\%mydate%\log.txt

set endyear=%date:~0,4%

set endmonth=%date:~5,2%

set endday=%date:~8,2%

set enddate=%endyear%%endmonth%%endday%

set endhhmmss=%time:~0,2%%time:~3,2%%time:~6,2%

if "%endhhmmss:~0,1%"==" " set endhhmmss=0%time:~1,1%%time:~3,2%%time:~6,2%

echo backup finished at %enddate%_%endhhmmss% >> e:\%backhome%\%mydate%\log.txt

echo ------------------------------------------------ >> e:\%backhome%\%mydate%\log.txt

rem 计算指定天数之前的日期

set DaysAgo=7

rem 假设系统日期的格式为yyyymmdd

call :DateToDays %date:~0,4% %date:~5,2% %date:~8,2% PassDays

set /a PassDays-=%DaysAgo%

call :DaysToDate %PassDays% DstYear DstMonth DstDay

set DstDate=%DstYear%%DstMonth%%DstDay%

if exist e:\%backhome%\%DstDate% (

echo 删除%DaysAgo%天前的数据:%DstDate% >>e:\%backhome%\%mydate%\log.txt

rmdir /s/q e:\%backhome%\%DstDate%

)

goto :eof

:DateToDays %yy% %mm% %dd% days

setlocal ENABLEEXTENSIONS

set yy=%1&set mm=%2&set dd=%3

if 1%yy% LSS 200 if 1%yy% LSS 170 (set yy=20%yy%) else (set yy=19%yy%)

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

endlocal&set %4=%j%&goto :EOF

:DaysToDate %days% yy mm dd

setlocal ENABLEEXTENSIONS

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%)

endlocal&set %2=%yy%&set %3=%mm%&set %4=%dd%&goto :EOF

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐