Powershell 计算多个文件夹的文件夹大小

Powershell 计算多个文件夹的文件夹大小,powershell,batch-file,directory,Powershell,Batch File,Directory,我想构建一个脚本,它可以: 计算特定路径的文件夹总大小 以MB为单位显示每个路径的文件夹大小(包括递归子文件夹,不显示) 计算所有列出文件夹的总大小 这将在备份/恢复脚本中使用。在进行备份之前,我们希望了解备份的总大小,以及哪些文件夹包含大量数据 输出类似于: Total size: 1456MB C:/folder1 100MB C:/folder2 123MB C:/folder3/folder1 1233MB 也许对你们中的一些人来说很简单。我已经搜索和尝试了

我想构建一个脚本,它可以:

  • 计算特定路径的文件夹总大小
  • 以MB为单位显示每个路径的文件夹大小(包括递归子文件夹,不显示)
  • 计算所有列出文件夹的总大小
这将在备份/恢复脚本中使用。在进行备份之前,我们希望了解备份的总大小,以及哪些文件夹包含大量数据

输出类似于:

Total size: 1456MB
    C:/folder1 100MB
    C:/folder2 123MB
    C:/folder3/folder1 1233MB
也许对你们中的一些人来说很简单。我已经搜索和尝试了几个小时,但始终没有得到我需要的。。任何关于使用哪种代码语言或特定脚本的建议都会有所帮助

你可以试试这个

使用:
Get FileSize“C:\folder1”、“C:\folder2”、“C:\folder3\folder1”

输出:

Name                           Value
----                           ----- 
Total                          1456.00
C:\folder1                     100.00
C:\folder2                     123.00
C:\folder3\folder1             1233.00
由于SUM的计算结果,所以不会抛出
MB

Function Get-FileSize([string[]]$Array) {

$Output = @{}

Foreach($String in $Array){
    $FolderInfo = Get-ChildItem -Recurse $String
    $totalSize = "{0:N2}" -f (($FolderInfo | Measure-Object -Property Length -Sum -ErrorAction Stop).Sum / 1MB)
    $Output.add($String, $totalSize)
}
$Output.add("Total", "{0:N2}" -f ($Output.Values | Measure-Object -Sum).Sum)
$Output
}

请告诉我们你到目前为止尝试了什么以及失败的地方。我们不是来为您编写所有代码的;)看一看,然后。还有一个问题是使用什么,如果可能的话,可以一直使用powershell。我想知道是否有人有一个脚本,可以完全按照我的要求。谢谢你的建议:)再次。。。我们不是来为您编写代码的,也不是来为基本任务提供脚本的:)如果allready找到了一个可以解决一半问题的代码片段,请尝试自己解决问题,如果遇到特定问题,请随时寻求帮助。再次。。谢谢你的建议:)非常感谢你,这是我想要构建的一个很好的开始。这是输出:Name-Value----C:\folder1 0,00 C:\folder3\folder11,27 C:\folder2 0,00总计127,00我将尝试理解代码中的所有内容,并相应地提出问题