仅获取子文件夹的文件夹大小,而忽略任何其他内容?

理查德

我在下面创建了脚本,该脚本在RootFolder中管理和维护分配的存储,每个备份都在其播出的单个文件夹中存储每日备份,并且如果RootFolder的内容超出预设限制,则将删除最早的备份文件夹。

到现在为止还挺好 。我的问题是较大的文件也可能会添加到RootFolder [strHomeFolder]中,因此也包含在总的累积“大小”中。结果,备份文件夹可能会被过早删除,在最坏的情况下,所有备份文件夹都可能被全部删除,不幸的是,这可能会破坏备份的目的!

因此,在使objFSO.GetFolder仅检查RootFolder内所有备份文件夹的内容时,我正在寻求建议,而忽略了该级别的任何文件。

strOldestFolder = ""
dtmOldestDate = Now

Set oShell = CreateObject("WScript.Shell")
strHomeFolder = oShell.ExpandEnvironmentStrings("%USERPROFILE%\HDBackups")

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(strHomeFolder)

intFolderSize = Int((objFolder.Size / 1024) / 1024)

If intFolderSize >= 50 Then ' change as appropriate value in MBytes
    Set objSubFolders = objFolder.SubFolders
    For Each objFolder in objSubFolders
        strFolder = objFolder.Path
        dtmFolderDate = objFolder.DateCreated
        If dtmFolderDate < dtmOldestDate Then
            dtmOldestDate = dtmFolderDate
            strOldestFolder = strFolder
        End If
    Next
    objFSO.DeleteFolder(strOldestFolder)
End If
艾蒂安·兰维尔(Etienne Laneville)

只需遍历Root文件夹SubFolders并总结一下intFolderSize

strOldestFolder = ""
dtmOldestDate = Now

Set objShell = CreateObject("WScript.Shell")
strHomeFolder = objShell.ExpandEnvironmentStrings("%USERPROFILE%\HDBackups")

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(strHomeFolder)

Dim objSubFolder
intFolderSize = 0
For Each objSubFolder In objFolder.SubFolders
    intFolderSize = intFolderSize + objSubFolder.Size
Next

intFolderSize = Int((intFolderSize / 1024) / 1024)

If intFolderSize >= 50 Then ' change as appropriate value in MBytes
    Set objSubFolders = objFolder.SubFolders
    For Each objFolder In objSubFolders
        strFolder = objFolder.Path
        dtmFolderDate = objFolder.DateCreated
        If dtmFolderDate < dtmOldestDate Then
            dtmOldestDate = dtmFolderDate
            strOldestFolder = strFolder
        End If
    Next
    objFSO.DeleteFolder (strOldestFolder)
End If

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何检测URL位置是否在此页面以及同一域的任何其他子文件夹中

来自分类Dev

将使用飞碟生成的 PDF 直接保存到 /resources 或任何其他文件夹

来自分类Dev

是否可以删除特定文件夹中的所有子文件夹而无需对其进行硬编码或删除其他任何内容?

来自分类Dev

PHP在特定目录中获取exe文件,忽略其他文件和文件夹

来自分类Dev

修改文件的日期以使其早于某个文件夹中的任何其他文件的日期

来自分类Dev

每次我运行__pycache__文件夹中的任何其他文件时,该文件夹都会执行

来自分类Dev

如何仅忽略给定文件夹中的子文件夹

来自分类Dev

是否可以强制 SLURM 只能访问作业的运行文件夹而不更改任何其他文件?

来自分类Dev

文件夹/子文件夹的大小然后删除

来自分类Dev

排除文件夹并阻止其他文件夹

来自分类Dev

expressjs无法获取/错误,无法访问其他文件夹中的任何文件

来自分类Dev

ffmpeg:批量转换子文件夹中的任何内容

来自分类Dev

在远程容器与代码中没有“容器中打开文件夹”或任何其他命令

来自分类Dev

如何使用os.walk或任何其他替代方法通过自然名称顺序递归遍历文件夹?

来自分类Dev

访问获取共享文件夹的子文件夹

来自分类Dev

Gitignore不忽略子文件夹

来自分类Dev

仅使用批处理命令获取子文件夹的大小

来自分类Dev

gitignore:忽略文件夹(任何地方)(子文件夹除外)(任何地方)

来自分类Dev

如何从其他文件夹获取index.html

来自分类Dev

如何使用cmake解析整个项目,但仅构建依赖于其他子文件夹的子文件夹

来自分类Dev

如何引用其他文件夹?

来自分类Dev

访问其他文件夹

来自分类Dev

RedirectToAction()到其他文件夹

来自分类Dev

使用FtpLib获取文件夹大小

来自分类Dev

获取Outlook文件夹大小

来自分类Dev

获取文件夹的实际大小

来自分类Dev

Git忽略子文件夹,但不忽略文件夹中的文件

来自分类Dev

301仅重定向子文件夹的内容,而不重定向子文件夹本身

来自分类Dev

如何获取文件名仅使用cmd批处理文件复制到其他文件夹

Related 相关文章

  1. 1

    如何检测URL位置是否在此页面以及同一域的任何其他子文件夹中

  2. 2

    将使用飞碟生成的 PDF 直接保存到 /resources 或任何其他文件夹

  3. 3

    是否可以删除特定文件夹中的所有子文件夹而无需对其进行硬编码或删除其他任何内容?

  4. 4

    PHP在特定目录中获取exe文件,忽略其他文件和文件夹

  5. 5

    修改文件的日期以使其早于某个文件夹中的任何其他文件的日期

  6. 6

    每次我运行__pycache__文件夹中的任何其他文件时,该文件夹都会执行

  7. 7

    如何仅忽略给定文件夹中的子文件夹

  8. 8

    是否可以强制 SLURM 只能访问作业的运行文件夹而不更改任何其他文件?

  9. 9

    文件夹/子文件夹的大小然后删除

  10. 10

    排除文件夹并阻止其他文件夹

  11. 11

    expressjs无法获取/错误,无法访问其他文件夹中的任何文件

  12. 12

    ffmpeg:批量转换子文件夹中的任何内容

  13. 13

    在远程容器与代码中没有“容器中打开文件夹”或任何其他命令

  14. 14

    如何使用os.walk或任何其他替代方法通过自然名称顺序递归遍历文件夹?

  15. 15

    访问获取共享文件夹的子文件夹

  16. 16

    Gitignore不忽略子文件夹

  17. 17

    仅使用批处理命令获取子文件夹的大小

  18. 18

    gitignore:忽略文件夹(任何地方)(子文件夹除外)(任何地方)

  19. 19

    如何从其他文件夹获取index.html

  20. 20

    如何使用cmake解析整个项目,但仅构建依赖于其他子文件夹的子文件夹

  21. 21

    如何引用其他文件夹?

  22. 22

    访问其他文件夹

  23. 23

    RedirectToAction()到其他文件夹

  24. 24

    使用FtpLib获取文件夹大小

  25. 25

    获取Outlook文件夹大小

  26. 26

    获取文件夹的实际大小

  27. 27

    Git忽略子文件夹,但不忽略文件夹中的文件

  28. 28

    301仅重定向子文件夹的内容,而不重定向子文件夹本身

  29. 29

    如何获取文件名仅使用cmd批处理文件复制到其他文件夹

热门标签

归档