本帖最后由 ckevin 于 2014-9-25 09:30 编辑
原意是这样的,我有如下名称的一些备份文件夹,里面都有备份的数据。现在想写个批处理每月1号自动删除名称为2月以前的备份目录
201308
201309
201310
201311
201312
201401
201402
201403
201405
201406
201407
201408
201409
我自己写了一个但遇到8月9月的时候,就会报错,请各位帮忙指点一下,谢谢!
我的批处理如下:- set year=%date:~0,4%
- set month=%date:~5,2%
- set day=%date:~8,2%
- set mydate=%year%%month%%day%
- set mymonth=%year%%month%
- set filename=oracle9备份%mydate%
- set sfilepath=备份\\%mymonth%
- E:
- cd \
- rem -------在每个月的1号删除前面2个月的备份--------------
- if %day%==01 goto :del_file
- echo exit
- :del_file
- if %month% leq 2 set /a delyear=%year%-1
- if %month% gtr 2 set /a delyear=%year%
- if %month% leq 2 set /a delmonth=%month%+10
- if %month% gtr 2 set /a delmonth=%month%-2
- set delforder=%delyear%%delmonth%
- if %day%==01 rd /Q /S 备份\\%delforder%
- echo exit
复制代码
|