Windowsコマンドプロンプトでフォルダ内のファイルの総容量を計算する方法

コマンドプロンプトでフォルダー内のファイル容量を確認する基本は、dir /s /a "C:\Data"です。最終集計にファイルサイズの合計が表示されます。これはディスク上の占有容量とは異なるため、空き容量の増減をそのまま予測する値ではありません。数値の加工にはPowerShellも使えます。

目次

必要なツールと前提条件

このガイドを進める前に、以下のツールと前提条件を確認してください。

ツール

  • Windows OS搭載のコンピューター
  • コマンドプロンプト(Windowsシステムに標準装備)

前提条件

  • 基本的なコマンドプロンプトの操作に慣れていること。
  • 対象となるフォルダへの適切なアクセス権を持っていること。
  • 実行するコマンドによっては、システムに影響を与える可能性があるため、重要なデータは事前にバックアップしてください。

ヒントと警告

  • コマンドプロンプトは非常に強力なツールです。不明なコマンドは実行せず、実行する前にコマンドの機能を理解してください。
  • 特定のファイルやフォルダに対して実行権限が必要な場合があります。アクセス拒否があれば集計が不完全な可能性があります。必要な読み取り権限と対象範囲を確認し、むやみに権限を変更しないでください。

以上のツールと前提条件を確認した上で、次のセクションでは、コマンドプロンプトの基本的な使い方を簡単におさらいし、その後、フォルダ内のファイル総容量を計算する具体的なステップに進んでいきます。

コマンドプロンプトの基本

コマンドプロンプトは、Windows OSで利用可能な強力なテキストベースのインターフェースです。ここでは、コマンドプロンプトを開く方法と、いくつかの基本的なコマンドについて解説します。これらの基本をマスターすることで、フォルダ内のファイル総容量を計算するプロセスをスムーズに進めることができます。

コマンドプロンプトの起動

  1. スタートメニュー経由
    • スタートメニューを開き、「cmd」と入力して、出てきた「Command Prompt」をクリックします。
  2. 実行ウィンドウ経由
    • Win + R キーを押し、「実行」ウィンドウを開きます。cmdと入力し、Enterキーを押します。
  3. パワーシェル経由
    • Win + X キーを押し、メニューにある「ターミナル」等を選択します。管理者起動は必須ではありません。そしてcmdと入力し、Enterキーを押します。

基本的なコマンド

  1. ディレクトリの変更 – cd コマンド
    • このコマンドは「Change Directory」の略で、現在のディレクトリを変更するために使用します。
    • 使用例: cd /d "C:\path\to\your\folder"
    • これにより、指定したパスにディレクトリが変更されます。
  2. ディレクトリの内容をリストアップ – dir コマンド
    • 現在のディレクトリ内のファイルとサブディレクトリのリストを表示します。
    • 使用例: dir
    • さらにオプション /s を追加すると、現在のフォルダ及びすべてのサブフォルダ内のファイルとディレクトリがリストアップされます。

これらの基本的なコマンドを理解し、適切に使用することで、フォルダ内のファイル総容量を計算するプロセスを効率的に進めることができます。次のセクションでは、読み取り用の操作で、フォルダ内のファイルサイズを具体的に計算する方法を紹介します。

フォルダ内のファイル総容量を計算するためのステップ

フォルダ内のファイル総容量を計算するためには、コマンドプロンプトの基本操作を理解した上で、特定のコマンドを使用します。

ファイル総容量を計算

以下のステップを通じて、目的のフォルダ内のファイルサイズを効率的に計算する方法を詳しく解説します。

STEP
対象のフォルダに移動

まず、計算したいフォルダ内にコマンドプロンプトのカレントディレクトリを移動させます。

cd /d "C:\path\to\your\folder"

これにより、コマンドプロンプトの操作対象が指定したフォルダに変更されます。

STEP
フォルダ内のファイルサイズをリストアップ

次に、dir コマンドを使用して、フォルダ内のファイルとそのサイズを表示します。

dir /s /a

オプション /s はサブディレクトリ内のファイルも含めてリストアップするためのものです。/aは隠し属性・システム属性も含めて一覧にする指定です。各フォルダーの小計だけでなく、出力末尾の全体集計に合計バイト数が表示されます。最後の空き領域の値とファイルサイズ合計を混同しないでください。エラーがあれば完全な集計とは判断できません。

STEP
総容量を計算

ここではPowerShellを使用して、同じ対象フォルダーを改めて列挙してフォルダ内のファイル総容量を計算します。

powershell.exe -NoProfile -Command "try { $m = Get-ChildItem -LiteralPath . -File -Recurse -Force -ErrorAction Stop | Measure-Object -Property Length -Sum; [double]$m.Sum; exit 0 } catch { Write-Error $_; exit 1 }"

このコマンドは以下の動作を行います:

  • Get-ChildItem -LiteralPath . -File -Recurse -Force -ErrorAction Stop:現在のディレクトリとそのサブディレクトリ内の列挙できるファイルを一覧にします。-Fileはファイルのみ、-Forceは隠し属性等も含めますが、アクセス権を無視する指定ではありません。
  • Measure-Object -Property Length -Sum:リストアップされたファイルの「Length」(サイズ)を合計します。

実行すると、合計バイト数を数値として表示します。空のフォルダーは0、列挙エラー時はエラーと終了コード1で区別します。以下の画像は旧コマンドの表示例で、更新後の数値だけを出す例とは表示形式が異なります。

STEP
総容量をGiB単位とMiB単位で表示

総容量をGiB単位とMiB単位で分かり易く表示する方法を説明します。

GiB単位での表示コマンド

powershell.exe -NoProfile -Command "try { $m = Get-ChildItem -LiteralPath . -File -Recurse -Force -ErrorAction Stop | Measure-Object -Property Length -Sum; '{0:N2} GiB' -f ([double]$m.Sum / 1GB); exit 0 } catch { Write-Error $_; exit 1 }"

このコマンドの解説:

  • Get-ChildItem: 現在のファイルシステムフォルダー以下を列挙します。
  • Measure-Object -Property Length -Sum: リストアップされたファイルのサイズの合計を計算します。
  • 合計値を1GBまたは1MBで割り、GiBまたはMiBとして小数点以下2桁まで表示します。空の結果は0として扱います。

MiB単位での表示コマンド

powershell.exe -NoProfile -Command "try { $m = Get-ChildItem -LiteralPath . -File -Recurse -Force -ErrorAction Stop | Measure-Object -Property Length -Sum; '{0:N2} MiB' -f ([double]$m.Sum / 1MB); exit 0 } catch { Write-Error $_; exit 1 }"

このコマンドの解説:

  • Get-ChildItem: 現在のファイルシステムフォルダー以下を列挙します。
  • Measure-Object -Property Length -Sum: リストアップされたファイルのサイズの合計を計算します。
  • 合計値を1GBまたは1MBで割り、GiBまたはMiBとして小数点以下2桁まで表示します。空の結果は0として扱います。

上記のコマンドを使用することで、フォルダ内のファイルの総容量をGiB単位またはMiB単位で簡単に確認できます。{0:N2} は数値をフォーマットしており、N2 は小数点以下2桁までの数値を意味します。必要に応じてこの部分を変更して、表示する小数点以下の桁数を調整できます。

特定のファイルタイプのみの容量を計算

特定のファイルタイプ(例えば .txt ファイル)のみの総容量を計算したい場合は、以下のようにコマンドを修正できます。

powershell.exe -NoProfile -Command "try { $m = Get-ChildItem -LiteralPath . -File -Recurse -Force -ErrorAction Stop | Where-Object Extension -eq '.txt' | Measure-Object -Property Length -Sum; [double]$m.Sum; exit 0 } catch { Write-Error $_; exit 1 }"

このコマンドは .txt ファイルのみを対象とし、それらのファイルサイズの総和を計算します。

以上のステップを踏むことで、Windowsコマンドプロンプトを利用して、特定のフォルダ内のファイル総容量、または特定のファイルタイプの総容量を効率的に計算することができます。次のセクションでは、このプロセスにおいて遭遇する可能性のある一般的な問題とその対処法について解説します。

集計範囲と単位の注意点

ここで足しているのは列挙したファイルのLength(論理サイズ)です。圧縮・スパースファイル、ハードリンク、クラウドのプレースホルダー、代替データストリーム等があると、実際のディスク占有量と一致しません。ジャンクションやシンボリックリンク等を含む場合の再帰範囲はツール・バージョンにも依存するため、通常のフォルダーだけを対象にするか、リンクを含める方針を別途決めてください。

PowerShellの1GBと1MBはそれぞれ1024の3乗・2乗なので、上の表示はGiB・MiBとしています。10進のGBなら1,000,000,000、MBなら1,000,000で割ります。画像に残る旧表示のGB/MBとは区別してください。

表示例は対象フォルダーへcd /dで移動したcmd.exeから実行します。対象が存在しない場合は移動せず、別フォルダーを集計してしまうため、移動が成功したことを先に確認します。cmd.exe向けの外側の引用符を含む例を、そのままPowerShellのプロンプトへ貼らないでください。

集計中にファイルが増減すると同一時点のスナップショットにはなりません。エラーを隠して部分合計を正式な合計として扱わないでください。読み取り用コマンドですが、巨大な共有フォルダー等では負荷と時間がかかるため範囲を絞ります。本記事の更新例はWindows実機での実行テストは行っていません。

トラブルシューティング

フォルダ内のファイル総容量を計算する際には、いくつかの一般的な問題やエラーに遭遇する可能性があります。ここでは、それらの問題に対処するためのトラブルシューティングのヒントを提供します。

アクセス拒否エラー

  • 問題: 「アクセスが拒否されました」というメッセージが表示される。
  • 確認方法: エラーが出たフォルダーと実行ユーザーの権限を確認します。管理者起動でもすべてのファイルを読めるとは限りません。所有権取得やアクセス権の一括変更は容量調査の初動には使わず、必要なら管理担当者へ相談してください。

コマンドが認識されない

  • 問題: 入力したコマンドが「認識されないコマンドです」として拒否される。
  • 解決策: コマンドのスペルを確認してください。コマンドは非常に構文に敏感です。小さなタイプミスやスペースの誤りも、コマンドの実行を妨げることがあります。

長いリストの処理

  • 問題: 大量のファイルがあると、コマンドプロンプトの画面ではすべてを一度に見ることができない。
  • 解決策: | more コマンドを使用して、出力をページ単位で表示します。例: dir /s | more

これらはファイル総容量を計算する過程で遭遇するかもしれない一般的な問題です。トラブルシューティングのプロセスでは、エラーメッセージを注意深く読み、それが何を示しているのかを理解することが重要です。

結論

本記事では、Windowsコマンドプロンプトを使用して、フォルダ内のファイルの総容量を計算する方法を詳しく解説しました。基本的なコマンドから始めて、特定のファイルタイプの容量を計算する方法、さらにはGBやMiB単位で結果を表示する方法まで、幅広い情報を提供しました。このプロセスは、データ管理とストレージの最適化に非常に役立ちます。

また、トラブルシューティングのセクションでは、一般的な問題の解決策を提供しました。これにより、プロセス中に発生する可能性のある障害を克服し、作業をスムーズに進めることができます。

コマンドプロンプトは非常に強力なツールであり、本記事で紹介したテクニックは、日々の作業をより効率的にするための基礎となるでしょう。この知識を活用して、データ管理のスキルを次のレベルに引き上げてください。

公式資料

Microsoft:dirの合計表示と属性/Get-ChildItem/Measure-Object/PowerShellの数値単位。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次