[登録されているタグ]

[記事公開日]2025/12/18

PowerShellでフォルダサイズを計算する|Measure-Object の実用例

📝 はじめに

PowerShellでディスク容量を確認していると、
「このフォルダがどれくらい容量を使っているのか知りたい」
「どのフォルダが容量を圧迫しているのか調べたい」
「エクスプローラーで右クリック→プロパティを見るのが面倒」
という場面はよくあります。

そんなときに活躍するのが、
Measure-Object を使った
フォルダサイズ計算の実用テクニックです。
PowerShellなら、数値として正確に把握できます。

こんな場面で便利

  • 容量を圧迫しているフォルダを特定したい
  • バックアップ対象のサイズを事前に把握したい
  • 定期的にディスク使用量をチェックしたい

✅ このコマンドでできること(要点)

  • フォルダ配下のファイルサイズ合計を算出できる
  • サブフォルダを含めた合計容量を取得できる
  • 数値として扱えるため自動化しやすい
  • サイズ順の比較・判断に使える

✅ Measure-Object でできること

Measure-Object は、
数値データの合計・平均・最大値などを計算するコマンドです。

ファイル管理では、
Length(ファイルサイズ)を対象にすることで、
フォルダ全体の使用容量を算出できます。

エクスプローラー感覚では見えにくい
「正確な数値」を取得できるのが強みです。

🧩 基本構文

Get-ChildItem 対象フォルダ -File -Recurse |
Measure-Object -Property Length -Sum

-Sum を指定することで合計値を計算します。

▶ 基本的な使い方(まずこれだけ)

🔹 フォルダ配下の合計サイズを取得する

Get-ChildItem C:\Work -File -Recurse |
Measure-Object -Property Length -Sum

Sum に表示される値が、
フォルダ内ファイルの合計サイズ(バイト)です。

🔹 サイズをMB単位で表示する

$size = (Get-ChildItem C:\Work -File -Recurse |
Measure-Object Length -Sum).Sum
"{0:N2} MB" -f ($size / 1MB)

人が見て分かりやすい単位に変換できます。

🛠 よく使われる指定例

🔹 サブフォルダ単位でサイズを確認する

Get-ChildItem C:\Work -Directory |
ForEach-Object {
  $sum = (Get-ChildItem $_.FullName -File -Recurse |
          Measure-Object Length -Sum).Sum
  [PSCustomObject]@{
    Folder = $_.Name
    SizeMB = "{0:N1}" -f ($sum / 1MB)
  }
}

どのフォルダが容量を使っているか一目で分かります。

🔹 特定拡張子だけでサイズを計算する

Get-ChildItem C:\Work -File -Recurse -Filter *.log |
Measure-Object Length -Sum

ログファイルだけの容量調査などに便利です。

💼 実務でよく使う使用例(応用)

🔹 容量の大きいフォルダを洗い出す

Get-ChildItem C:\Data -Directory |
ForEach-Object {
  $size = (Get-ChildItem $_.FullName -File -Recurse |
           Measure-Object Length -Sum).Sum
  [PSCustomObject]@{
    Folder = $_.FullName
    SizeGB = "{0:N2}" -f ($size / 1GB)
  }
} |
Sort-Object SizeGB -Descending

🔹 バックアップ前の容量チェック

$target = "C:\BackupTarget"
$size = (Get-ChildItem $target -File -Recurse |
         Measure-Object Length -Sum).Sum
"バックアップ対象サイズ: {0:N2} GB" -f ($size / 1GB)
組み合わせ例

  • Get-ChildItem で対象取得
  • Measure-Object で合計計算
  • Sort-Object で容量順に整理

🧩 よくある勘違い・つまずきポイント

  • フォルダ自体のサイズが表示されると思ってしまう
  • -Recurse を付け忘れて一部しか計算されない
  • 単位(バイト)を意識していない
  • 隠しファイル・システムファイルを含めていない
  • 大量ファイルで処理が重くなる

⚠ エラー・うまく動かないときの確認ポイント

  • -File を指定しているか
  • -Recurse が必要な構成ではないか
  • アクセス権限の問題がないか
  • 処理対象が多すぎないか

🧠 注意点

フォルダサイズ計算は便利ですが、
ファイル数が非常に多い場合は処理に時間がかかります。
まずは対象範囲を絞り、
段階的に調査するのがおすすめです。

📌 まとめ

  • Measure-Object でフォルダサイズを計算できる
  • Length プロパティがサイズの基準
  • -Recurse で配下すべてを集計
  • 容量調査・整理作業に非常に有効

🔎 PowerShellコマンドを探す

やりたいことからコマンドを探すこともできます。

  • フォルダサイズを調べたい
  • 容量を圧迫している場所を知りたい
  • バックアップ容量を確認したい
  • ディスク使用量を調査したい
  • エラーや実行できない原因を調べたい
  • PowerShellで容量管理したい
  • 安全に調査したい
Generic filters

サイト内検索(入力すると候補が出ます)

Generic filters


Generic filters

Generic filters

すべてを開く | すべてを閉じる
ページ上部へ戻る