回答:
SysinternalsのDisk Usageユーティリティをお試しください。具体的にdu -l 1は、現在のディレクトリの各サブディレクトリのサイズを表示する必要があります。詳細についてはdu、パラメータなしで実行してください。
PowerShellで問題がなければ、次を試してください。
Get-ChildItem |
Where-Object { $_.PSIsContainer } |
ForEach-Object {
$_.Name + ": " + (
Get-ChildItem $_ -Recurse |
Measure-Object Length -Sum -ErrorAction SilentlyContinue
).Sum
}
サイズはバイト単位です。MBのような大きな単位でフォーマットするには、次を試してください(1行にまとめます):
Get-ChildItem | Where-Object { $_.PSIsContainer } | ForEach-Object { $_.Name + ": " + "{0:N2}" -f ((Get-ChildItem $_ -Recurse | Measure-Object Length -Sum -ErrorAction SilentlyContinue).Sum / 1MB) + " MB" }
詳細については、Technetのこの記事を参照してください。
サイズのより柔軟なフォーマット(実際のサイズに基づいてkB / MB / GB / etcを選択)が必要な場合は、この質問とその回答を参照してください。
通常のコマンドラインから、いくつかの簡単なコマンドだけで、必要なことを実行できるとは思いません。このスクリプトを例として参照してください(PowerShellが利用できず、サードパーティのユーティリティが受け入れられない場合を除き、このアプローチは追求する価値がないと思われるため、ここではコピーしません)。
duLinux の経験はありません。しかし、Windowsでは、dir /sすべてのフォルダーとサブフォルダーをファイルサイズと共に一覧表示するために使用します。
/Sスイッチはディレクトリのサイズを表示せず、コマンドがすべてのサブディレクトリを再帰的に通過するようにします。