VBscript删除子文件夹

时间:2012-10-26 16:59:13

标签: vbscript

我是vb脚本的新手,我需要一个脚本来删除几个基于起始名称_SA和2天的第三级子文件夹

例如

C:\ abc \ user1 \ temp \ _SA123 C:\ ABC \用户2 \ temp_SA2345 C:\ ABC \用户3 \ temp_SA4567

我想删除以_SA超过2天开头的文件夹,我有50多个用户文件夹。请hlep

谢谢, 辣椒

1 个答案:

答案 0 :(得分:0)

根据示例数据,虽然我认为这是第4级,但这应该有效:

编辑:因为你问得很好,我更新了这个以在变量中构建一个日志,该变量将列出删除的文件夹的路径,创建日期以及删除它的日期。此信息显示在msgbox中,但您可以轻松修改以将数据打印到文件中。

Dim rootFolder
Dim fld
Dim subFld
Dim subsubFld
Dim Log
Set fso = CreateObject("Scripting.FileSystemObject")
Set rootFolder = fso.GetFolder("C:\abc\")
For Each fld In rootFolder.SubFolders
    For Each subFld In fld.SubFolders
        For Each subsubFld In subFld.SubFolders
            If Len(subsubFld.Name) >= 3 Then
                If Left(subsubFld.Name, 3) = "_SA" And subsubFld.DateCreated < Now() - 2 Then
                    Log = subsubFld.Path & ", Created " & subsubFld.DateCreated & ",Deleted" & Now & vbNewLine
                    subsubFld.Delete
                End If
            End If
        Next
    Next
Next
MsgBox Log
'Or you could print the log to a file.

没有错误捕获(除了确保文件夹名称长度至少为3个字符之外),如果您没有权限,将获得权限拒绝。

注意:我发布的代码有缩进,只是因为某种原因没有显示。如果要查看缩进代码,请单击编辑按钮。