duコマンドでディレクトリごとの容量を一発で出力するdu -sh ./*/ について説明したが、Windows PowerShellでは関数を定義することで同等のコマンドが定義できる。
引用元:PowerShell で which、PowerShell で du

まずは単純なduコマンド相当について

(dir -literalpath c:\work -recurse -force | measure-object Length -sum).Sum

これは関数は定義不要。

du -s ./*/コマンド相当は

function dusage{ 
  param([String]$tgtDir = (pwd).Path) 
  
  filter dusage_filter{ 
    $sum = (dir -literalpath $_.FullName -recurse -force -erroraction silentlycontinue | 
      measure-object Length -sum).Sum 
    $result = New-Object Object | 
      Add-Member NoteProperty Folder $_.FullName -PassThru | 
      Add-Member NoteProperty Size $sum -PassThru 
    return $result 
  } 
  
  dir $tgtDir -force -erroraction silentlycontinue | 
    ? {$_.PSIsContainer} | dusage_filter 
}
dusage -tgtDir c:\work | sort -des size

#あるいは
cd c:\work
dusage -tgtDir . | sort -des size