当前位置: 首页 > 编程日记 > 正文

IIS日志清理CMD版,VBS版,JS版,WSH版

'IIS日志清理之IIS日志生成系统(CreateIISLog.vbs)  
'创建文件夹
Function CreateFolder(Folder)
    On Error Resume Next
    Set FSO = CreateObject("Scripting.FileSystemObject")
    FSO.CreateFolder(Folder)
    If Err>0 Then
        Err.Clear
        CreateFolder = False
    Else
        CreateFolder = True
    End If
End Function
'创建文件
Function CreateFile(FileName, Content)
    On Error Resume Next
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set fd = FSO.CreateTextFile(FileName, True)
    fd.WriteLine Content
    If Err>0 Then
        Err.Clear
        CreateFile = False
    Else
        CreateFile = True
    End If
End Function

CreateFolder "D:\IISLogTest"
CreateFolder "D:\IISLogTest\IISLogs001"
CreateFolder "D:\IISLogTest\IISLogs002"
CreateFolder "D:\IISLogTest\IISLogs003"
for i=1 to 30
    d=date-i
    filename="ex" & right(year(d),2) & right("0" & month(d),2) & right("0" & day(d),2) & ".log"
    CreateFile "D:\IISLogTest\" & filename,Content
    CreateFile "D:\IISLogTest\IISLogs001\" & filename,Content
    CreateFile "D:\IISLogTest\IISLogs002\" & filename,Content
    CreateFile "D:\IISLogTest\IISLogs003\" & filename,Content
next

'**********************************************************
<job id="IIS日志清理WSH版代码(DelIISLog.wsf)
    <script language="vbscript">
        '作者:柳永法(yongfa365)'Blog
        '修改:2007-11-15
        '操作说明:此文件只能清除一天的日志,得使用计划任务让其每天执行一次,因为服务器上一般都禁用WScript.Shell,所以不推荐使用
        Function DelIISLog(IISLogPath,beforedays)
            d=Now-beforedays
            If Right(IISLogPath,1) <> "\" Then IISLogPath=IISLogPath & "\"
            p= IISLogPath & "ex" & Right(Year(d),2) & Right("0" & Month(d),2)  & Right("0" & Day(d),2)  & ".Log"
            Set WshShell = WScript.CreateObject("WScript.Shell")
            wscript.echo p
            WshShell.Run ("cmd.exe /c del /s " & p)
            Set WshShell = Nothing
        End Function

        DelIISLog "D:\IISLogTest",2
    </script>
</job>

'**********************************************************
'IIS日志清理VBS版代码(DelIISLog.vbs)
'调用方法:DelIISLog "IIS日志所在路径",保留多少天的IIS日志

'遍历IIS日志文件夹下的所有文件及子文件夹下的文件
Function DelIISLog(IISLogPath,KeepDays)
on error resume next
    Set oFso = CreateObject("Scripting.FileSystemObject")
    Set oFolder = oFso.GetFolder(IISLogPath)
    Set oSubFolders = oFolder.SubFolders  '得到该目录下所有的文件夹的集合
    Set oFiles = oFolder.Files '得到该目录下所有的文件的集合
    '第一步处理当前目录下的所有文件
    For Each oFile In oFiles '遍历所有文件
        if right(oFile.name,3)="log" then
            oDate=cdate("20" & mid(oFile.name,3,2) & "-" & mid(oFile.name,5,2) & "-" & mid(oFile.name,7,2))
            if date-oDate > KeepDays then oFile.delete '判断是不是要处理的IIS日志文件,如果是的话直接删除
        end if
    Next
    '第二步处理当前目录下的所有目录,进行递归调用
    For Each oSubFolder In oSubFolders
        DelIISLog oSubFolder.Path,KeepDays '递归
    Next

End Function

DelIISLog "D:\IISLogTest",20 '遍历

'**********************************************************
//IIS日志清理JS版代码(DelIISLog.js)
//调用方法:DelIISLog("IIS日志所在路径",保留多少天的IIS日志);

//遍历IIS日志文件夹下的所有文件及子文件夹下的文件
function DelIISLog(IISLogPath,KeepDays){
    var fso = new ActiveXObject("Scripting.FileSystemObject");
    var f = fso.GetFolder(IISLogPath);
    var Folders = new Enumerator(f.SubFolders); //得到该目录下所有的文件夹的集合
    var Files = new Enumerator(f.Files); //得到该目录下所有的文件的集合
    //第一步处理当前目录下的所有文件
    for (; !Files.atEnd(); Files.moveNext()) {
        var fileName = Files.item().name;
        var year = "20" + fileName.substr(2, 2);
        var mouth = fileName.substr(4, 2);
        var day = fileName.substr(6, 2);
        var days = Math.round(((new Date()).getTime() - Date.UTC(year, mouth - 1, day)) / 1000 / 60 / 60 / 24);
        if (days > KeepDays) Files.item().Delete(); //判断是不是要处理的IIS日志文件,如果是的话直接删除
    }
    //第二步处理当前目录下的所有目录,进行递归调用
    for (; !Folders.atEnd(); Folders.moveNext()) {
        DelIISLog(Folders.item(),KeepDays);
    }
}
//调用函数,比如:"F:\\log",5  或 "C:\\windows\\system32\\LogFiles",5
DelIISLog("D:\\IISLogTest",2);

'**********************************************************
'IIS日志清理CMD版代码(DelIISLog.cmd)
@echo off
title clean log
::设置当前日期前多少天或后多少天
set/a beforedays=-3
::设置目录所在位置
set   dir="F:\log\"
::当前日期转换为天数并进行计算
call :Date2Day %date:~0,10% days
set/a days=%days%%beforedays%
call :Day2Date %days% lastdate
::计算完毕,生成想要的字符组合
set okstr=ex%lastdate:~2,6%.log
::删除这些文件
del del /f /s /q %dir%\%okstr%

cmd /k

:Date2Day
setlocal ENABLEEXTENSIONS
for /f "tokens=1-3 delims=/-, " %%a in ('echo/%1') do (
set yy=%%a & set mm=%%b & set dd=%%c
)
set /a dd=100%dd%%%100,mm=100%mm%%%100
set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2
set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
endlocal&set %2=%j%&goto :EOF

:Day2Date
setlocal ENABLEEXTENSIONS
set /a i=%1,a=i+2472632,b=4*a+3,b/=146097,c=-b*146097,c/=4,c+=a
set /a d=4*c+3,d/=1461,e=-1461*d,e/=4,e+=c,m=5*e+2,m/=153,dd=153*m+2,dd/=5
set /a dd=-dd+e+1,mm=-m/10,mm*=12,mm+=m+3,yy=b*100+d-4800+m/10
(if %mm% LSS 10 set mm=0%mm%)&(if %dd% LSS 10 set dd=0%dd%)
endlocal&set %2=%yy%%mm%%dd%&goto :EOF

相关文章:

make执行过程

make 的执行过程如下&#xff1a; 1.依次读取变量“MAKEFILES”定义的 makefile 文件列表 2.读取工作目录下的 makefile文件&#xff08;根据命名的查找顺序“GNUmakefile”&#xff0c; “makefile”&#xff0c;“Makefile”&#xff0c;首先找到那个就读取那个&#xff09; …

C语言不要重复包含.h头文件和.c文件

1.不要重复包含头文件 --以上出自《C语言程序设计&#xff1a;现代方法(第2版)》 f3.h //#ifndef AE_OK #define AE_OK 0 typedef int ngx_int_t; //#endiff2.h #include "f3.h"f1.h #include "f3.h" test.c #include <stdio.h>#include &…

论推荐系统与精细化运营

作者丨gongyouliu来源 | 大数据与人工智能&#xff08;ID: ai-big-data&#xff09;随着大数据与人工智能(AI)技术的发展与成熟&#xff0c;国家政策层面对大数据与人工智能技术、创新、创业层面的支持&#xff0c;企业越来越意识到数据和AI技术的价值&#xff0c;并逐步认可数…

服务器产品选型与性价比图解

转载于:https://blog.51cto.com/lijichao/229471

解决jsp引用其他项目时出现的 cannot be resolved to a type错误

JSP页面引用其他项目的时候&#xff0c;在jsp页面上写如下代码&#xff1a; <%List<CandleEntity> candleEntities;CandleOperate candleOperate new CandleOperate(DataBaseEntity.getInstance()); %>虽然也添加了引用 <%page import"com.sjzh.xtrader.l…

ATT格式汇编语言

1.编译与链接 方法一&#xff1a;使用as #as -o test.o test.s #ld -o test test.o 方法二&#xff1a;使用gcc #gcc -o test test.s gnu连接器查找_start标签以确定程序的开始&#xff0c;但gcc查找main标签&#xff0c;所以使用gcc要把 _start改为main 2.调试 #as -gsta…

取得Repeater内部控件命令名与命令参数

前台&#xff1a; <table border"0"cellpadding"0"cellspacing"1"class"meet_tbl"><tr class"meet_title bold"><td>会议名称</td><td>制定日期</td><td>删除</td></tr…

Python在计算内存时值得注意的几个问题

作者 | 豌豆花下猫来源 | python猫&#xff08;ID:python_cat&#xff09;我之前的一篇文章&#xff0c;带大家揭晓了 Python 在给内置对象分配内存时的 5 个奇怪而有趣的小秘密。文中使用了sys.getsizeof()来计算内存&#xff0c;但是用这个方法计算时&#xff0c;可能会出现意…

HDU 1816, POJ 2723 Get Luffy Out(2-sat)

HDU 1816&#xff0c; POJ 2723 Get Luffy Out 题目链接 题意&#xff1a;N串钥匙。每串2把&#xff0c;仅仅能选一把。然后有n个大门&#xff0c;每一个门有两个锁&#xff0c;开了一个就能通过&#xff0c;问选一些钥匙&#xff0c;最多能通过多少个门 思路&#xff1a;二分通…

AI战“疫“之路:​揭秘高精准无感测温系统的全栈AI 技术

在这个全民抗疫的特殊时期&#xff0c;今年的春节返潮来得比往年迟了许多。如今不少企业结束了远程办公&#xff0c;开始陆续复工&#xff0c;一时间&#xff0c;无论是重点防控的机场、火车站&#xff0c;还是学校、企业、社区等密集型场所&#xff0c;都安排了密集的防疫驻扎…

关于text段、data段和bss段

根据APUE&#xff0c;程序分为下面的段&#xff1a;.text, data (initialized), bss, stack, heap。 data/bss/text: text段在内存中被映射为只读&#xff0c;但.data和.bss是可写的。 bss是英文Block Started by Symbol的简称&#xff0c;通常是指用来存放程序中未初始化的全局…

091023 T GIX4 项目中的 智能部署 和 智能客户端

先说一下ClickOnce的使用方法&#xff1a;先给一个要发布的工程设置安全和签名。然后发布到iis中。当用户访问该iis目录下的.application文件时,就会自动安装整个应用程序。 再说一下我们目前的应用程序。相对还是比较复杂的&#xff0c;分为框架部分和特定应用程序部分。其中的…

STL学习系列九:Map和multimap容器

1.map/multimap的简介 map是标准的关联式容器&#xff0c;一个map是一个键值对序列&#xff0c;即(key,value)对。它提供基于key的快速检索能力。map中key值是唯一的。集合中的元素按一定的顺序排列。元素插入过程是按排序规则插入&#xff0c;所以不能指定插入位置。map的具体…

人工智能改变未来教育的5大方式!

作者 | Zohaib翻译 | 天道酬勤&#xff0c;编辑 | Carol出品 | AI科技大本营&#xff08;ID&#xff1a;rgznai100&#xff09;科技正在改变着我们的生活、工作和娱乐方式&#xff0c;教育领域也不例外。 人工智能将像大多数其他领域一样全面改变教育领域&#xff0c;这取决于当…

程序在内存中运行的奥秘

简介当丰富多彩的应用程序在计算机上运行&#xff0c;为你每天的工作和生活带来便利时&#xff0c;你是否知道它们是如何在计算机中工作呢&#xff1f;本文用形象的图表与生动的解释&#xff0c;揭示了程序在计算机中运行的奥秘。 内存管理是操作系统的核心功能&#xff0c;无论…

微软虚拟化解决方案课件

微软虚拟化解决方案课件转载于:https://blog.51cto.com/yangzhiguo/231577

【Python 第8课】while

2019独角兽企业重金招聘Python工程师标准>>> 先介绍一个新东西&#xff1a;注释。python里&#xff0c;以“#”开头的文字都不会被认为是可执行的代码。 print “hello world”和 print "hello world" #输出一行字是同样的效果。但后者可以帮助开发者更…

2019年度CSDN博客之星TOP10榜单揭晓,你上榜了吗?

培根说&#xff0c;『读书造成充实的人&#xff0c;会议造成未能觉悟的人&#xff0c;写作造成正确的人』。在短信短视频快速迭代的快时代&#xff0c;更深度的思考、更正确的实践&#xff0c;更成体系的写作与分享&#xff0c;尤显可贵。这里&#xff0c;每一篇博文都是开发者…

objdump查看目标文件构成

objdump objdump是用查看目标文件或者可执行的目标文件的构成的GCC工具 反汇编 #objdump -d cpuid2 对于其中的反汇编代码 左边是机器指令的字节&#xff0c;右边是反汇编结果。显然&#xff0c;所有的符号都被替换成地址了&#xff0c; 注意没有加$的数表示内存地址&#…

jQuery--AJAX传递xml

程序代码$.ajax({ url:Accept.jsp, type:post, //数据发送方式 dataType: xml, //注意这里是xml哦 &#xff0c;不是html ( html比较简单,所以我拿xml做下例子,解释下 )data:text$("#name").val()&datenewDate(), //要传递的数据 timeout: 2000, …

ActionDescriptor 的认识

ActionDescriptor的作用是对Action方法的元数据的描述,通过ActionDescriptor我们可以获取到action方法的相关的名称,所属控制器,方法的参数列表,应用到方法上的特性以及一些筛选器;ActionDescriptor是由ControllerDescriptor类中的FindAction方法进行创建; ActionDescriptor类也…

readelf和ldd分析elf文件

1. elf 文件格式 linux系统中&#xff0c;gcc编译器编译出的object文件、可执行文件都属于elf文件。 elf文件由三个部分组成&#xff1a;elf header、program headers|section headers、sections|program segments。 如果是executable文件&#xff0c;则section部分是不需要的…

号称3个月发布最强量子计算机,卖口罩的霍尼韦尔凭什么?

作者 | Just出品 | AI科技大本营新冠疫情的发生&#xff0c;霍尼韦尔这家口罩品牌引入众人眼帘。但实际上&#xff0c;口罩业务只是这家企业的一小块副业&#xff0c;它能做的业务十分多元。3月4日&#xff0c;霍尼韦尔宣布在量子计算领域取得突破&#xff0c;将提升量子计算机…

一位老工程师前辈的忠告

诸位&#xff0c;咱当工程师也是十余年了&#xff0c;不算有出息&#xff0c;环顾四周&#xff0c;也没有看见几个有出息的&#xff01;回顾工程师生涯&#xff0c;感慨万千&#xff0c;愿意讲几句掏心窝子的话&#xff0c;也算给咱们师弟师妹们提个醒&#xff0c;希望他们比咱…

一站式学习Wireshark

https://community.emc.com/message/818739#818739 转载于:https://blog.51cto.com/jackprivate/1725190

objdump与readelf

objdump和readelf都可以用来查看二进制文件的一些内部信息. 区别在于objdump 借助BFD而更加通用一些, 可以应付不同文件格式, readelf则并不借助BFD, 而是直接读取ELF格式文件的信息, 按readelf手册页上所说, 得到的信息也略细致一些. 几个功能对比. 1. 反汇编代码 查看源代…

接口学习笔记(2009.11.24)

了解接口&#xff0c;主要是为了一道经典面试题&#xff1a;接口与抽象类的区别&#xff0c;对接口的理解却很少&#xff0c;现在学习一下。 接口只包含方法、属性、事件或索引器的签名。成员的实现是在实现接口的类或结构中完成的。 Interfacenamespace study1124{ interfa…

“一网打尽”Deepfake等换脸图像,微软提出升级版鉴别技术Face X-Ray​

作者 | Just出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;Deepfake换脸图像的泛滥给人类社会带来了巨大的挑战。虽然研究者们为检测换脸图片提出了多种AI鉴别算法&#xff0c;但随着换脸算法的不断改造升级&#xff0c;鉴别算法很难跟上换脸算法的变化。微软亚洲研…

双边滤波算法的简易实现bilateralFilter

没怎么看过双边滤波的具体思路&#xff0c;动手写一写&#xff0c;看看能不能突破一下。 最后&#xff0c;感觉算法还是要分开 水平 与 垂直 方向进行分别处理&#xff0c;才能把速度提上去。 没耐性写下去了&#xff0c;发上来&#xff0c;给大伙做个参考好了。 先上几张效果图…

赔偿谷歌1.8亿美元!前Uber自动驾驶主管被告到破产

整理 | Just出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;两年前的Google自动驾驶部门与Uber自动驾驶技术纠纷案以和解结束后再起波澜。据路透社等外媒报道&#xff0c;Uber自动驾驶部门前主管安东尼莱万多夫斯基&#xff08;Anthony Levandowski&#xff09;周三申…