win bat日志清除脚本
Posted xue0123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了win bat日志清除脚本相关的知识,希望对你有一定的参考价值。
需求:
删除15天前的日志文件夹或文件,文件夹以日期命名,如:20180101
set log_dir="C:\inetpub\logs\LogFiles"
:: 保留日志天数
set bak_dat=15
:: 删除日志文件。解释:删除C:\inetpub\logs\LogFiles目录下以.log结尾的15天前的文件
forfiles /p %log_dir% /M "*.log" /D -%bak_dat% /C "cmd /c del @file"
:: 删除日志文件夹。解释:删除C:\inetpub\logs\LogFiles目录下以20开头的15天前的文件夹
forfiles /p %log_dir% /d -%bak_dat% /m "20*" /c "cmd /c if @isdir==TRUE (rmdir /q /s @path)"
:: 以上两条命令根据自己实际情况作出修改
forfiles 参数
/p:指定文件夹
/d:指定时间,通过文件的上次修改日期选择文件,主要有以下两种写法:
-Day,-YYYY-MM-DD
-7表示,七天前的数据,
+7表示,过去七天的数据,
-2018-01-01,2018-01-01前的数据
+2018-01-01,2018-01-01之后的数据
/m:名称,支持通配符*
/s:递归搜索
/c command 表示为每个匹配到的对象执行的命令。命令字符串应该用双引号括起来。默认命令是 "cmd /c echo @file"。下列变量可以用在命令字符串中:
rmdir参数
/q:删除目录时不提示确认,直接删除
/s:表示删除该目录下所有遍历的子目录和文件
以上是关于win bat日志清除脚本的主要内容,如果未能解决你的问题,请参考以下文章