bat脚本批量删除日志文件

来源:互联网 发布:淘宝能修改实名认证吗 编辑:程序博客网 时间:2024/06/14 14:47

最近在学习写bat脚本,以下为实现批量删除一个月前的日志文件。话不多说直接上代码:

@echo offset y=%date:~0,4%set m=%date:~5,2%set d=%date:~8,2%set /a m-=1if %m% LSS 11 set m=0%m%if %m%==00 set m=12&set /a y-=1set datestr=%y%%m%%d%setlocal EnableDelayedExpansionfor %%i in (d:\test\*.log) do (    set var1=%%i    set var2=!var1:~-12,8!    if !var2! lss %datestr% (del d:\test\*!var2!.log))endlocalexit 0

备注:
1、这里截取当前时间的年月日,不同系统可能默认的不一致,自己可通过cmd–输入date,回车查看。需要修改的话自行baidu。
2、setlocal EnableDelayedExpansion/endlocal
设置本地为延迟扩展(延迟变量),全称”延迟环境变量扩展”, 变量%%用!!代替,来获取变量实时的值。
3、实现原理:
这里由于日志文件命名是有规律的,都是日志名+时间(年月日).log,通过截取当中的日期与当前时间的一个月前日期比较来决定删除对应的文件。