批处理

本文介绍了一个用于自动化清理超过7天的数据库备份文件的批处理脚本。该脚本可以确保只保留最近7天内的备份文件,同时避免了手动操作的繁琐。脚本通过递归循环判断并删除非最近7天内的文件。
脚本说明:为避免手动清理磁盘空间,保留当前7天数据库备份文件.数据库备份文件格式为csmdbbakXXXXXXXX.rar
脚本描述:通过脚本判断日期相对麻烦困难,此处将日期作为整型数据处理。不做加减判断,而是递归循环判断最小日期的文          件(即非最近7天内的文件),然后将此文件删除。
脚本代码:
@echo off
setlocal enabledelayedexpansion

set filecount=0
cd /d E:/dbbak
::获取文件数量
for /r %%i in (*.rar) do (
    set /a filecount+=1
    rem echo %%~ni
)


::如果不超过7个,不做任何处理
:judgefilecount
echo %filecount%
set min=99999999
if %filecount% leq 7 goto eof
::如果大于7,则删除扩展文件名中日期最小的文件

::获取文件名
for /l %%i in (0,1,6) do set a%%i=%%i
set step=0
cd /d d:/test/temp
for /r %%i in (*.rar) do (
set a!step!=%%~ni
set /a step+=1
)
rem echo %a1%
rem echo %a1:~-4%


::获取最小值,没用使用for循环
:getminfile
if %a0:~-8% leq %min% set min=%a0:~-8%
if %a1:~-8% leq %min% set min=%a1:~-8%
if %a2:~-8% leq %min% set min=%a2:~-8%
if %a3:~-8% leq %min% set min=%a3:~-8%
if %a4:~-8% leq %min% set min=%a4:~-8%
if %a5:~-8% leq %min% set min=%a5:~-8%
if %a6:~-8% leq %min% set min=%a6:~-8%


:delminfile
echo %min%
del csmdbbak%min%.rar
set /a filecount-=1
goto judgefilecount
endlocal
:eof
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值