删除某个目录下预定义天数以前的文件的脚本

<?xml version="1.0" encoding="gb2312" ?>
<?job error="true" debug="false"?>

<package id="RemoveFilesByDate">

  <job id="Main">
    <runtime>
        <description>
          FileName: RemoveFilesByDate.wsf
          这个脚本删除预定义天数以前的文件.

          Version: 1.0
          Created:
icuc88@hotmail.com
          Last Modify: Feb 18th, 2004
          All right reserved.

        </description>
        <named
          name="Driver"
          helpstring="文件所在逻辑驱动器盘符"
          type="string"
          required="true"
        />
        <named
          name="Path"
          helpstring="文件所在路径"
          type="string"
          required="true"
        />
        <named
          name="OlderBy"
          helpstring="删除多少天以前的文件,缺省为3天。"
          type="string"
          required="false"
        /> 
        <example>
        Example:
          1. 删除3天以前的文件
          RemoveFilesByDate.wsf /Driver:C: /Path://test//

          2. 删除5天以前的文件
          RemoveFilesByDate.wsf /Driver:C: /Path://test// /OlderBy:5
        </example>
    </runtime>

    <script language="VBScript">
    <![CDATA[
   
      Option Explicit
      On Error Resume Next

      If WScript.Arguments.Count < 2 Then
         WScript.Arguments.ShowUsage
         WScript.Quit
      Else
         ' 从指定的磁盘目录上面查找符合条件的文件
         Dim strComputer
         Dim objWMIService
         Dim colFiles
         Dim objFSO
         strComputer = "." '在本地计算机上执行脚本
         Set objWMIService = GetObject("winmgmts:" _
           & "{impersonationLevel=impersonate}!//" _
           & strComputer & "/root/cimv2")
         Dim WMISql
         WMISql = "Select * from CIM_DataFile where Path = '" _
           & WScript.Arguments.Named.Item("Path") & "' AND Drive= '" _
           & WScript.Arguments.Named.Item("Driver") & "'"

         Set colFiles = objWMIService.ExecQuery(WMISql)
        
         ' 删除满足条件的文件
         ' 该脚本指搜索当前路径下面的文件,不搜索子目录
         Set objFSO = CreateObject("Scripting.FileSystemObject")
        
         Dim strWMIDate
         Dim ODate
         Dim OlderBy
         Dim objFile
         For Each objFile in colFiles
           strWMIDate = objFile.CreationDate
           ODate = WMIDateStringToDate(strWMIDate)
           If WScript.Arguments.Named.Item("OlderBy") <> "" Then
             OlderBy = CInt(WScript.Arguments.Named.Item("OlderBy"))
           Else
             OlderBy = 3
           End If
           If (Date - OlderBy) >= ODate Then
             objFSO.DeleteFile(objFile.Name)      
           End If
         Next
      End If

      Function WMIDateStringToDate(dtmInstallDate) '转换WMI格式的日期类型到DateTime类型
        WMIDateStringToDate = CDate(Mid(dtmInstallDate, 5, 2) & "/" & _
          Mid(dtmInstallDate, 7, 2) & "/" & Left(dtmInstallDate, 4) _
          & " " & Mid (dtmInstallDate, 9, 2) & ":" & _
          Mid(dtmInstallDate, 11, 2) & ":" & Mid(dtmInstallDate, _
          13, 2))
      End Function
    ]]>
    </script>
  </job>
</package>

把上面的文件粘贴复制到记事本,然后另存为RemoveFilesByDate.wsf

双击可以看见使用方法

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看rEADME.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看rEADME.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值