tyfj 发表于 2010-6-18 02:17:21

syslog日志服务。自动删除2个月前的文件。

@echo off&setlocal enabledelayedexpansion
d:
cd\ftp\panabit log\text\192.168.0.223
::以上是我pa日志放的目录。可以自己改。
set/a a=%date:~5,2%
::取出当前月份
if "!a:~,1!"=="0" (
::如果当前月份第一个数字为0,就
    if "!a:~1,1!" leq "2" (
    ::如果当前月份第二个数字为小于2,就
      set/a c=!date:~,4!-1
      ::将当前年份减去1
      if "!a:~1,1!"=="2" (set d=12) else set d=11
      ::如果当前月份第二个数字为2,就d=12,否则d=11
    ) else set/a d=!a:~1,1!-2,c=!date:~,4!
    ::否则d=当前月份的第二个数字减去2,c=当前年份
) else set/a d=!a!-2,c=!date:~,4!
::否则d=当前月份减去2,c等于当前年份
set d=0%d%

set d=%c%!d:~-2!%date:~8,2%
::综合以上,得出d,为两个月前的年月日

for /f "delims=" %%i in ('dir/b *.csv') do (
::将当前目录下所有csv文件的文件名赋为%%i
    set name=%%i&set name=!name:~6,8!
    ::name就是当前处于for中的文件名;取出文件的的第7到第14位
    if "!name!" lss "!d!" echo del/f/a %%i
    ::如果第7到第14位数小于两个月前的年月日就删除
)
pause



对了。我是用的:SyslogWatcherPro.exe生成日志。
要顶哈。。。

[ 本帖最后由 tyfj 于 2010-6-18 02:19 编辑 ]

panabit-lover 发表于 2010-6-18 20:02:00

这个不错,支持一下。

tzredhat 发表于 2010-6-20 02:05:07

这个不错,支持一下。

drjones 发表于 2011-4-28 10:21:05

页: [1]
查看完整版本: syslog日志服务。自动删除2个月前的文件。