
Windows環境でフォルダのサイズを確認したいとき、エクスプローラーでは時間がかかることがあります。そんなときに便利なのが、PowerShellです。コマンドを使えば正確かつ迅速にサイズを取得できます。
この記事では、PowerShellでフォルダサイズを確認する基本的な方法から、条件付き表示、合計サイズの出力など、実用的な使い方を紹介します。
目次
PowerShellでフォルダサイズを取得する基本コマンド
Get-ChildItemとMeasure-Objectを組み合わせる

(Get-ChildItem 'C:\パス\フォルダ名' -Recurse | Measure-Object -Property Length -Sum).Sum / 1MB
このコマンドは、指定フォルダ内のすべてのファイルサイズを合計してMB単位で表示します。
結果に単位を付けて表示
$size = (Get-ChildItem 'C:\パス\フォルダ名' -Recurse | Measure-Object -Property Length -Sum).Sum
"{0:N2} MB" -f ($size / 1MB)
特定の拡張子や日付条件で絞り込み
拡張子を限定してサイズ取得
(Get-ChildItem 'C:\フォルダ' -Recurse -Include *.log | Measure-Object -Property Length -Sum).Sum / 1MB
1週間以内に更新されたファイルのサイズ合計

(Get-ChildItem 'C:\フォルダ' -Recurse | Where-Object { $_.LastWriteTime -gt (Get-Date).AddDays(-7) } | Measure-Object Length -Sum).Sum / 1MB
スクリプトとして使いたい場合
以下のようにPowerShellスクリプトにして使うと、複数のフォルダで流用できます。
param([string]$path)
if (-Not (Test-Path $path)) {
Write-Host "指定されたパスは存在しません。"
exit
}
$size = (Get-ChildItem $path -Recurse | Measure-Object -Property Length -Sum).Sum
"{0:N2} MB" -f ($size / 1MB)
よくある質問
Q. サブフォルダごとのサイズも知りたい場合は?
du
コマンドのように出力したい場合は以下を使用します。
Get-ChildItem 'C:\対象フォルダ' -Directory | ForEach-Object {
$folderSize = (Get-ChildItem $_.FullName -Recurse | Measure-Object Length -Sum).Sum / 1MB
"{0,-40} {1,10:N2} MB" -f $_.FullName, $folderSize
}
関連リンク
まとめ
PowerShellを使えば、エクスプローラーよりも素早く正確にフォルダサイズを確認できます。条件を追加すればより柔軟な運用も可能です。作業の自動化や容量管理に活用してみてください。

最後までお読みいただきありがとうございます。
コメント