Windows 在所有子文件夹中查找特定文件夹的大小

Windows 在所有子文件夹中查找特定文件夹的大小,windows,powershell,Windows,Powershell,我正在创建PowerShell脚本,以便通过电子邮件发送我在windows服务器上托管的所有网站的审核报告。我还想打印每个网站的日志文件夹的大小 这就是我想要的。c:\inetpub\vhosts文件夹中有几个网站。比如说abc.com和xyz.com是网站。日志文件位于c:\inetpub\vhosts\abc.com\default\logs中。我只想得到所有这些日志文件夹的大小,如下所示 1. c:\inetpub\vhosts\abc.com\default\logs

我正在创建PowerShell脚本,以便通过电子邮件发送我在windows服务器上托管的所有网站的审核报告。我还想打印每个网站的日志文件夹的大小

这就是我想要的。
c:\inetpub\vhosts
文件夹中有几个网站。比如说
abc.com
xyz.com
是网站。日志文件位于
c:\inetpub\vhosts\abc.com\default\logs
中。我只想得到所有这些日志文件夹的大小,如下所示

1. c:\inetpub\vhosts\abc.com\default\logs 100 MB 2. c:\inetpub\vhosts\xyz.com.com\default\logs 120 MB 1.c:\inetpub\vhosts\abc.com\default\logs 100 MB 2.c:\inetpub\vhosts\xyz.com.com\default\logs 120 MB 就像为每个*匹配显示文件夹大小
c:\inetpub\vhosts\*\default\logs


如何使用PowerShell实现这一点?

只需使用您最喜爱的搜索引擎,并使用您的帖子标题即可。您将注意到,您可以根据需要调整用例的示例脚本

在PowerShell中获取目录大小

你可能已经问过几百次这个问题,“有多大?” 当然,典型的GUI查找方法是 在Windows资源管理器中的文件夹上单击鼠标右键,然后打开文件夹的 财产。与所有GUI一样,这并不能很好地扩展。对于 例如,如果您需要100个不同文件夹的大小,该怎么办

使用PowerShell搜索和查找文件夹

在我以前的上传中{ },我写的是“如何使用Powershell搜索和查找文件”, 在此上传中,您可以搜索文件夹

用于报告文件夹大小的PowerShell函数(获取文件夹大小)

Get FolderSize函数显示指定文件夹中所有文件夹的大小 路径如果要确定文件中的大型文件夹,此工具非常有用 特定路径。手动监视用户主页特别有用 福尔德斯。该函数显示文件夹名称、完整路径和大小 国标######


我最后写了下面的代码。可能不是最好的代码!但是,我得到了我想要的

#To calculate log file size of DNN wesbite at C:\inetpub\vhosts\*\httpdocs\Portals\_default\Logs

    function Get-FolderSize {
    [CmdletBinding()]
    Param (
    [Parameter(Mandatory=$true,ValueFromPipeline=$true)]
    $Path,
    [ValidateSet("KB","MB","GB")]
    $Units = "MB"
    )
      if ( (Test-Path $Path) -and (Get-Item $Path).PSIsContainer ) {
        $Measure = Get-ChildItem $Path -Recurse -Force -ErrorAction SilentlyContinue | Measure-Object -Property Length -Sum
        $Sum = $Measure.Sum / "1$Units"
        echo $Sum

      }
    }

    Get-ChildItem -Path C:\Inetpub\vhosts -Directory | Select -exp Name > websites.txt
    echo '' > log-size.txt

    foreach ($website in get-content websites.txt) {
        $path = "C:\inetpub\vhosts\" + $website + "\httpdocs\Portals\_default\Logs"
        $logSize = get-foldersize $path
        $logSize = [INT] $logSize
        if ($logSize -gt 25 )
            {
            $logSize = $website + " :" + "$logSize" + "MB"
            echo $logSize >> log-size.txt
            }
    }

嗨,欢迎来到stack overflow。有关如何提问和相应更新问题的更多详细信息,请参阅链接。