Windowsコマンドプロンプトでフォルダ内のファイル数とサイズを一覧表示する方法

直下のファイル数とサイズは dir /a:-d "C:\Data"、サブフォルダ込みは dir /a:-d /s "C:\Data" の末尾で確認できます。/b は名前だけにするためサイズは出ません。パスは実在する対象へ置き換え、CMDとPowerShellの例を混同しないでください。

表示するのは通常、ファイルの論理バイト数であり「ディスク上のサイズ」ではありません。圧縮・スパースファイル・ハードリンクやクラウドのオンライン専用ファイルでは、空き容量の差と一致しません。再帰時のジャンクション等の扱いはツールやバージョンで異なるため、リンクを含むフォルダは別途確認します。アクセスエラーや実行中の更新がある集計は完全なスナップショットではありません。

コマンドプロンプトは、Windowsのシステム管理やトラブルシューティングに欠かせないツールです。特に、特定フォルダ内のファイル数や総サイズを確認する場合、簡単で効率的な方法を提供します。本記事では、コマンドプロンプトを利用してフォルダ内のファイル数とサイズを一覧表示する手順を詳しく解説します。初心者でも分かりやすいように、基本操作から応用例、スクリプトによる自動化までをカバーします。

目次

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

コマンドプロンプトは、Windowsのコマンドラインインターフェースで、テキストベースのコマンドを入力してシステム操作を実行するツールです。ここでは、基本的な操作手順を説明します。

コマンドプロンプトを開く方法

Windows 10や11では、スタートメニューの検索バーに「cmd」と入力し、「コマンドプロンプト」をクリックします。これでコマンドプロンプトが開きます。

基本的なコマンドの入力

コマンドプロンプトでは、コマンドを入力してEnterキーを押すことで実行します。例えば、「cd」コマンドを使ってディレクトリを変更したり、「dir」コマンドを使ってディレクトリの内容を表示したりします。

ディレクトリの移動

特定のフォルダに移動するには、「cd フォルダパス」を入力します。例として、cd /d "C:\Data" と入力すれば、ドキュメントフォルダに移動できます。

管理者としてコマンドプロンプトを実行する

一部の操作には管理者権限が必要です。管理者としてコマンドプロンプトを開くには、スタートメニューで「cmd」を検索し、表示された「コマンドプロンプト」を右クリックし、「管理者として実行」を選択します。

dirコマンドの使い方

dirコマンドは、指定したディレクトリ内のファイルやサブディレクトリの一覧を表示するために使用されます。ここでは、dirコマンドの基本的な使い方を説明します。

基本的なdirコマンドの使用方法

dirコマンドを実行するには、コマンドプロンプトに「dir」と入力し、Enterキーを押します。現在のディレクトリ内の通常表示対象のファイルとフォルダ(隠し・システム属性は既定では除外)が表示されます。

dir

特定のディレクトリを指定する

特定のディレクトリの内容を表示するには、dirの後にディレクトリパスを指定します。例として、C:\Users\YourUsername\Documentsの内容を表示するには、次のように入力します。

dir "C:\Data"

オプションを使用して詳細を表示する

dirコマンドにはさまざまなオプションがあり、表示する情報をカスタマイズできます。例えば、/sオプションを使用すると、指定したディレクトリとそのすべてのサブディレクトリ内のファイルを表示します。

dir /s

その他にも、/bオプションで簡潔な形式で表示したり、/aオプションで隠しファイルを含めて表示したりすることができます。

dir /b
dir /a

結果をファイルにリダイレクトする

dirコマンドの結果をファイルに保存するには、リダイレクト機能を使用します。次の例は、集計対象外の既存フォルダ C:\Reports へ結果を保存します。出力先ファイルが存在すると上書きされます。

dir /a:-d "C:\Data" > "C:\Reports\file-list.txt"

これらの基本的な使い方を理解することで、dirコマンドを活用して効率的にファイルやフォルダの情報を取得できます。

ファイル数をカウントする方法

フォルダ内のファイル数をカウントするためには、dirコマンドを応用して情報を抽出し、ファイル数を確認する手順を解説します。

ファイル数を表示するdirコマンドの使用

通常のdirコマンドでは、フォルダ内のファイル数が末尾に表示されます。まず、カウントしたいフォルダに移動します。

cd /d "C:\Data"

その後、dirコマンドを実行します。

dir

コマンドの出力の最後に「File(s): X」の形式でファイル数が表示されます。

詳細表示でファイル数を確認する

より詳細な情報を表示するには、/aオプションを使用します。これにより、隠しファイルやシステムファイルも含めた全ファイル数が表示されます。

dir /a

この出力の最後に、ファイル数が表示されます。

特定のファイルタイプの数をカウントする

特定のファイルタイプ(例:.txtファイル)のみをカウントする場合は、ワイルドカードを使用します。

dir *.txt

この出力の最後に、「File(s): X」と表示され、.txtファイルの数が確認できます。

ファイル数を簡単に確認するバッチファイル

複数回の操作が面倒な場合は、以下のようなバッチファイルを作成して自動化できます。

@echo off
setlocal DisableDelayedExpansion
set "folder="
set /p "folder=Folder path (without quotes): "
if not defined folder exit /b 1
if not exist "%folder%\" exit /b 1
dir /a:-d /b "%folder%" | find /c /v ""
pause

このバッチは直下のファイルだけを数えます。/a:-d はディレクトリを除外し、隠し・システム属性のファイルも対象にします。サブフォルダを含める場合は /s を追加します。アクセス拒否などのエラーが出た場合、表示数値を完全な集計と扱わないでください。

これらの方法を利用することで、簡単にフォルダ内のファイル数をカウントすることができます。次に、フォルダ内のファイルサイズを確認する方法について説明します。

ファイルサイズを確認する方法

フォルダ内のファイルの総サイズを確認する手順を解説します。これにより、ディスクスペースの管理が容易になります。

dirコマンドでファイルサイズを確認する

dirコマンドを使用して、フォルダ内の各ファイルのサイズと総サイズを確認することができます。以下のコマンドを入力して、特定のフォルダに移動します。

cd /d "C:\Data"

次に、dirコマンドを実行してファイルサイズを確認します。

dir

このコマンドの出力には、各ファイルの論理サイズと、表示対象ファイルの合計サイズ(サブフォルダ内は /s を付けるまで含まない)が表示されます。

詳細表示で総ファイルサイズを確認する

詳細なファイルサイズ情報を取得するには、/sオプションを使用します。これにより、フォルダ内の全サブディレクトリを含む総サイズが表示されます。

dir /s

出力の最後に、フォルダ全体の総サイズが「Total Files Listed: X File(s) X bytes」の形式で表示されます。

特定のファイルタイプの総サイズを確認する

特定のファイルタイプ(例:.txtファイル)の総サイズを確認するには、ワイルドカードを使用します。

dir *.txt /s

このコマンドは、フォルダ内およびサブディレクトリ内のすべての.txtファイルの総サイズを表示します。

PowerShellを使用して総ファイルサイズを確認する

より柔軟で強力な方法として、PowerShellを使用してフォルダ内のファイルの総サイズを確認することもできます。以下のPowerShellコマンドを使用します。

Get-ChildItem -LiteralPath 'C:\Data' -File -Force -Recurse -ErrorAction Stop |
    Measure-Object -Property Length -Sum

このコマンドは、指定したフォルダ内のすべてのファイルの総サイズをバイト単位で表示します。

スクリプトで自動化する方法

バッチファイルやPowerShellスクリプトを使用して、定期的にフォルダの総サイズを確認するタスクを自動化することができます。以下はPowerShellで実行する、読み取り専用の集計例です。

$folder = Read-Host 'Folder path (without quotes)'
if (-not (Test-Path -LiteralPath $folder -PathType Container)) { throw 'Folder not found' }
$stats = Get-ChildItem -LiteralPath $folder -File -Force -Recurse -ErrorAction Stop |
    Measure-Object -Property Length -Sum
[pscustomobject]@{ FileCount = $stats.Count; TotalBytes = [long]$stats.Sum }

この例はPowerShellへ直接入力します。入力パスをコマンド文字列へ埋め込まず、LiteralPathで扱います。アクセス拒否等では停止し、途中の件数を完全な集計として表示しません。

これらの手法を活用することで、フォルダ内のファイルサイズを簡単に確認でき、ディスクスペースの管理に役立ちます。

応用例:特定のファイルタイプのみを対象にする

特定のファイルタイプ(例:.txtファイル)のみを対象にして、ファイル数や総サイズを確認する方法を紹介します。

特定のファイルタイプの数をカウントする

特定のファイルタイプをカウントするには、dirコマンドでワイルドカードを使用します。例えば、.txtファイルのみをカウントする場合は、次のように入力します。

dir *.txt

このコマンドの出力の最後に、「File(s): X」と表示され、.txtファイルの数が確認できます。

特定のファイルタイプのサイズを確認する

特定のファイルタイプの総サイズを確認するには、dirコマンドに/sオプションを追加します。

dir *.txt /s

このコマンドは、フォルダ内およびサブディレクトリ内のすべての.txtファイルの総サイズを表示します。

PowerShellで特定のファイルタイプのサイズを確認する

PowerShellを使用して、特定のファイルタイプの総サイズを確認する方法もあります。以下のPowerShellコマンドを使用します。

Get-ChildItem -LiteralPath 'C:\Data' -File -Force -Recurse -ErrorAction Stop |
    Where-Object { $_.Extension -eq '.txt' } |
    Measure-Object -Property Length -Sum

このコマンドは、指定したフォルダ内のすべての.txtファイルの総サイズをバイト単位で表示します。

特定のファイルタイプをカウントするバッチファイル

特定のファイルタイプの数をカウントするためのバッチファイルを作成することも可能です。以下は、.txtファイルの数をカウントするバッチファイルの例です。

@echo off
setlocal DisableDelayedExpansion
set "folder="
set /p "folder=Folder path (without quotes): "
if not defined folder exit /b 1
if not exist "%folder%\" exit /b 1
dir /a:-d /b /s "%folder%\*.txt" | find /c /v ""
pause

このスクリプトは、指定したフォルダ内の.txtファイルの数をカウントして表示します。

特定のファイルタイプの情報を出力するPowerShellスクリプト

PowerShellスクリプトを使用して、特定のファイルタイプの情報を詳細に出力することもできます。以下は、.txtファイルの情報を出力するスクリプトの例です。

$folder = Read-Host 'Folder path (without quotes)'
Get-ChildItem -LiteralPath $folder -File -Force -Recurse -ErrorAction Stop |
    Where-Object { $_.Extension -eq '.txt' } |
    Select-Object FullName, Length | Format-Table -AutoSize

このスクリプトは、指定したフォルダ内のすべての.txtファイルの詳細情報(ファイル名とサイズ)を表形式で表示します。

これらの応用例を利用することで、特定のファイルタイプに対する操作を効率的に行うことができます。次に、これらの操作をスクリプトで自動化する方法を説明します。

スクリプトで自動化する方法

フォルダ内のファイル数やサイズの確認を定期的に実行する場合、スクリプトを使って自動化すると便利です。ここでは、バッチファイルやPowerShellスクリプトを使用してこれらの操作を自動化する方法を説明します。

バッチファイルを作成して自動化

Windowsバッチファイルを作成して、定期的にファイル数とサイズを確認するタスクを自動化できます。以下は、結果を画面に表示するバッチファイルの例です。

@echo off
setlocal DisableDelayedExpansion
set "folder="
set /p "folder=Folder path (without quotes): "
if not defined folder exit /b 1
if not exist "%folder%\" exit /b 1
dir /a:-d /s "%folder%"
pause

このバッチは再帰一覧と末尾の合計を画面へ表示します。英語の見出しを検索して抽出しないので、日本語Windowsでも見出しの違いに依存しません。

PowerShellスクリプトを作成して自動化

PowerShellスクリプトを使用して、フォルダ内のファイル数やサイズを自動的に確認することもできます。以下は、PowerShellスクリプトの例です。

$folder = Read-Host 'Folder path (without quotes)'
if (-not (Test-Path -LiteralPath $folder -PathType Container)) { throw 'Folder not found' }
$stats = Get-ChildItem -LiteralPath $folder -File -Force -Recurse -ErrorAction Stop |
    Measure-Object -Property Length -Sum
[pscustomobject]@{ FileCount = $stats.Count; TotalBytes = [long]$stats.Sum }

このスクリプトは一度の列挙で件数と合計バイトを画面に表示します。計測対象フォルダへ結果を書かないので、自分の結果ファイルが次回の件数に混ざることを防げます。

タスクスケジューラを使用して定期的に実行

作成したバッチファイルやPowerShellスクリプトをWindowsタスクスケジューラに登録し、定期的に実行することで自動化をさらに進めることができます。

  1. タスクスケジューラを開く: スタートメニューの検索バーに「タスクスケジューラ」と入力し、アプリを開きます。
  2. 基本タスクの作成: 右側の「基本タスクの作成」をクリックし、タスク名と説明を入力します。
  3. トリガーの設定: タスクを実行する頻度(毎日、毎週、毎月など)を設定します。
  4. 操作の設定: 「プログラムの開始」を選択し、バッチファイルまたはPowerShellスクリプトのパスを指定します。
  5. タスクの完了: 設定を確認してタスクを完了します。

この手順により、指定したフォルダ内のファイル数やサイズを定期的に自動チェックすることができます。次に、よくあるトラブルとその対処法について説明します。

トラブルシューティング

コマンドプロンプトやスクリプトを使用してフォルダ内のファイル数やサイズを確認する際に、よくある問題とその対処法を紹介します。

コマンドが正しく実行されない

コマンドが正しく実行されない場合、以下の点を確認してください。

パスが正しいか確認

指定したフォルダのパスが正しいかどうか確認します。パスにスペルミスがないか、正しいフォルダを指定しているかをチェックします。

管理者権限で実行

特定の操作には管理者権限が必要な場合があります。コマンドプロンプトやスクリプトをエラー対象のパスとアクセス権を確認してください。通常の一覧には昇格不要です。権限を自動的に強めたり、エラーを隠して集計を続けたりしないでください。

ファイル数やサイズが正しく表示されない

表示されるファイル数やサイズが期待通りでない場合、以下の点を確認します。

隠しファイルやシステムファイルを含める

dirコマンドで隠しファイルやシステムファイルを含めるには、/aオプションを使用します。

dir /a

サブディレクトリを含める

サブディレクトリ内のファイルも含めたい場合は、/sオプションを使用します。

dir /s

スクリプトが正しく動作しない

スクリプトが正しく動作しない場合、以下の点を確認してください。

スクリプトのパスと権限

スクリプトが正しい場所にあり、必要なアクセス権限があることを確認します。特にネットワークドライブを使用している場合、適切な権限が必要です。

スクリプトの内容を確認

スクリプト内に誤ったコマンドやパスが含まれていないかを確認します。スクリプトエディタでスクリプトを開き、内容を再度確認してください。

PowerShellスクリプトの実行ポリシーの問題

PowerShellスクリプトが実行できない場合、実行ポリシーが制限されている可能性があります。まず現在の実行ポリシーを読み取り専用で確認します。この記事の一覧確認のために、組織のポリシーを変更・回避しないでください。

Get-ExecutionPolicy -List

このコマンドは現在の適用状態を表示するだけで、設定は変更しません。対話画面で一覧を確認するために実行ポリシー変更は不要です。.ps1 が拒否された場合は組織の管理者に確認してください。

ファイル数やサイズが多すぎて出力が見にくい

ファイル数やサイズが多すぎる場合、出力が見にくくなることがあります。その場合は、出力をファイルにリダイレクトして確認することをおすすめします。

dir /a:-d /s "C:\Data" > "C:\Reports\file-list.txt"

これにより、結果がoutput.txtファイルに保存され、後で確認することができます。

これらのトラブルシューティングの方法を活用して、問題を解決し、効率的にファイル数やサイズを確認できるようにしましょう。次に、まとめを行います。

まとめ

コマンドプロンプトとスクリプトを使用して、Windowsのフォルダ内のファイル数や総サイズを確認する方法について説明しました。基本的なdirコマンドの使用方法から、特定のファイルタイプに絞ったファイル数とサイズの確認方法、さらに自動化するためのバッチファイルやPowerShellスクリプトの作成までカバーしました。これらの技術を活用することで、効率的にディスクスペースの管理やシステムのメンテナンスを行うことができます。日常的なタスクを自動化し、作業効率を向上させるためにぜひお試しください。

出力を保存する例の C:\Reports は、集計対象外の既存フォルダへ置き換えてください。> は既存ファイルを上書きします。出力先が集計対象内だと、そのファイル自身が件数・サイズに混ざります。CMDの *.txt は短いファイル名の照合で意図しない拡張子を拾う場合があるため、厳密な拡張子一致は上記PowerShellの Extension 比較を使います。

公式仕様:dir/Get-ChildItem/Measure-Object

この記事を書いた人

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

コメント

コメントする

目次