Public/Get-DiskUsage.ps1

function Get-DiskUsage {
    [cmdletbinding()]
    Param (
    [Parameter(ValueFromPipeline)]
    [string]$Path=".",
    [switch]$Bytes
    )

    $Children = Get-Item -Force -LiteralPath $Path

    foreach ($Child in $Children) {
    [double]$Size += Get-ChildItem -Recurse -File $Child.FullName |
      Measure-Object -Property Length -Sum |
      Select-Object -ExpandProperty Sum
    }

    if ($Bytes) {
    Write-Output $Size
    } else {
    ConvertFrom-BytesToHumanReadable $Size
    }
}