:: cosdos 2009/10/25
:: --- 以Windows当前系统日期为基础。
:: --- 例当前系统日期:2009/10/25,则删除
:: --- 所有以“数据库备份_”开头,后缀日期
:: --- 小于等于“20090925”的所有文件加。
@Echo off
Setlocal EnableDelayedExpansion
Title 删除当前目录中,上个月的“数据库备份_”文件夹
:: cosdos 2009/10/25
Call :main
Pause
Exit
:LastMonth
Set /a yyyy=%1+10000
Set /a mm=%2+100
Set /a dd=%3+100
If "%2" == "01" (
Set mm=112 & Goto year
) else (
Set /a mm-=1 & Set lastmonthday=%yyyy:~1,4%!mm:~1,2!%dd:~1,2%
)
Exit /b
:year
Set /a yyyy-=1
Set lastmonthday=%yyyy:~1,4%%mm:~1,2%%dd:~1,2%
Exit /b
:main
Set myfolder=数据库备份_
Set yyyy=%date:~0,4%
Set mm=%date:~5,2%
Set dd=%date:~8,2%
Call:LastMonth %yyyy% %mm% %dd%
Echo.
Echo 删除当前目录中,“%myfolder%%lastmonthday%”之前的文件夹
For /d %%i in (数据库备份_*) do (
Set folderdate=%%i&&if /i !folderdate:~-8! lEQ %lastmonthday% rd /s /q %%i
)
Exit /b
[ 本帖最后由 cosdos 于 2009-10-25 13:41 编辑 ]
:: --- 以Windows当前系统日期为基础。
:: --- 例当前系统日期:2009/10/25,则删除
:: --- 所有以“数据库备份_”开头,后缀日期
:: --- 小于等于“20090925”的所有文件加。
@Echo off
Setlocal EnableDelayedExpansion
Title 删除当前目录中,上个月的“数据库备份_”文件夹
:: cosdos 2009/10/25
Call :main
Pause
Exit
:LastMonth
Set /a yyyy=%1+10000
Set /a mm=%2+100
Set /a dd=%3+100
If "%2" == "01" (
Set mm=112 & Goto year
) else (
Set /a mm-=1 & Set lastmonthday=%yyyy:~1,4%!mm:~1,2!%dd:~1,2%
)
Exit /b
:year
Set /a yyyy-=1
Set lastmonthday=%yyyy:~1,4%%mm:~1,2%%dd:~1,2%
Exit /b
:main
Set myfolder=数据库备份_
Set yyyy=%date:~0,4%
Set mm=%date:~5,2%
Set dd=%date:~8,2%
Call:LastMonth %yyyy% %mm% %dd%
Echo.
Echo 删除当前目录中,“%myfolder%%lastmonthday%”之前的文件夹
For /d %%i in (数据库备份_*) do (
Set folderdate=%%i&&if /i !folderdate:~-8! lEQ %lastmonthday% rd /s /q %%i
)
Exit /b
[ 本帖最后由 cosdos 于 2009-10-25 13:41 编辑 ]
—>〉Sun〈<—