コマンドプロンプトでファイル一覧を表示するとき、こんな経験はありませんか?
「ファイルとフォルダが混在して見づらい…」
「フォルダだけをすっきり表示したい」
「バッチファイルでフォルダを処理したいけど、どうやって取得するの?」
この記事では、Windowsコマンドプロンプトでフォルダ(ディレクトリ)のみを表示する様々な方法を、実例を交えて詳しく解説します。
基本的な使い方から応用テクニックまで、日常のファイル管理や自動化に役立つ情報をお届けします。
dirコマンドの基本

dirコマンドとは
dir
コマンドは、Windowsのコマンドプロンプトでファイルやフォルダの一覧を表示する基本コマンドです。
dir
このままだと、以下のような出力になります:
C:\Users\Example のディレクトリ
2024/05/22 14:30 <DIR> Documents
2024/05/22 14:30 <DIR> Downloads
2024/05/22 14:30 <DIR> Pictures
2024/05/22 14:30 1,024 example.txt
2024/05/22 14:30 10,240 report.docx
2 個のファイル 11,264 バイト
3 個のディレクトリ 15,234,567,890 バイト使用可能
ファイルとフォルダが混在しているため、フォルダだけを確認したい場合は見づらくなります。
フォルダのみを表示する基本コマンド

最も基本的な方法
フォルダのみを表示するには、以下のコマンドを使用します:
dir /ad
オプションの説明:
/a
: 属性による絞り込みd
: ディレクトリ(フォルダ)のみ
よりシンプルな表示にする
詳細な情報を省略して、フォルダ名だけを表示したい場合:
dir /ad /b
オプションの説明:
/b
: ベーシック出力(ファイル名のみ表示)
実行例:
C:\Users\Example> dir /ad /b
Documents
Downloads
Pictures
様々な表示オプション

完全なパスを表示
フォルダの完全なパスを表示したい場合:
dir /ad /b /s
オプションの説明:
/s
: サブディレクトリも含めて再帰的に表示
実行例:
C:\Users\Example\Documents
C:\Users\Example\Documents\Projects
C:\Users\Example\Documents\Projects\Project1
C:\Users\Example\Downloads
C:\Users\Example\Pictures
詳細情報付きでフォルダのみ表示
日付やサイズ情報も確認したい場合:
dir /ad
実行例:
2024/05/22 14:30 <DIR> Documents
2024/05/22 14:30 <DIR> Downloads
2024/05/22 14:30 <DIR> Pictures
隠しフォルダも含めて表示
隠しフォルダも表示したい場合:
dir /ad /ah /b
または、すべての属性を表示:
dir /a:d /b
オプションの説明:
/ah
: 隠し属性のファイル・フォルダも表示/a:d
:/ad
と同じ意味(ディレクトリのみ)
ワイルドカードを使用した絞り込み

特定の名前パターンのフォルダのみ表示
特定の条件に合うフォルダだけを表示できます:
dir /ad /b "Project*"
実行例:(”Project”で始まるフォルダのみ)
Project1
Project2
ProjectBackup
特定の文字を含むフォルダのみ表示
dir /ad /b "*test*"
実行例:(”test”を含むフォルダのみ)
test_data
unittest
integration_test
forコマンドを使用した高度な処理

フォルダ名を1つずつ処理
バッチファイルでフォルダを1つずつ処理したい場合:
for /d %%i in (*) do echo %%i
コマンドプロンプトで直接実行する場合:
for /d %i in (*) do echo %i
実行例:
Documents
Downloads
Pictures
フォルダに対して特定の処理を実行
各フォルダに対して何らかの処理を実行する例:
for /d %%i in (*) do (
echo Processing folder: %%i
dir "%%i" /b | find /c /v ""
)
この例では、各フォルダ内のファイル数をカウントしています。
findコマンドとの組み合わせ

特定の文字列を含むフォルダ名を検索
dir /ad /b | find "Project"
実行例:(”Project”を含むフォルダ名のみ)
Project1
Project2
ProjectBackup
大文字小文字を区別しない検索
dir /ad /b | find /i "project"
オプションの説明:
/i
: 大文字小文字を区別しない
PowerShellを使用した方法
基本的なフォルダ表示
PowerShellでは、より柔軟な操作が可能です:
Get-ChildItem -Directory
短縮形:
ls -Directory
または:
gci -Directory
フォルダ名のみを表示
Get-ChildItem -Directory | Select-Object -ExpandProperty Name
短縮形:
ls -Directory | select -ExpandProperty Name
再帰的にフォルダを表示
Get-ChildItem -Directory -Recurse
特定の条件でフィルタリング
# 名前で絞り込み
Get-ChildItem -Directory | Where-Object { $_.Name -like "Project*" }
# 作成日で絞り込み
Get-ChildItem -Directory | Where-Object { $_.CreationTime -gt (Get-Date).AddDays(-30) }
実践的な使用例

バックアップフォルダのチェック
特定の日付以降に作成されたフォルダを確認:
dir /ad /b | find "2024"
プロジェクトフォルダの一覧
開発プロジェクトのフォルダ一覧を取得:
dir /ad /b "C:\Projects" | find /v "Archive"
バッチファイルでのフォルダ処理
各フォルダに対して処理を実行するバッチファイルの例:
@echo off
echo === Folder Processing ===
for /d %%i in (*) do (
echo Processing: %%i
if exist "%%i\*.txt" (
echo - Contains text files
) else (
echo - No text files found
)
)
echo === Processing Complete ===
ログフォルダの整理
古いログフォルダを特定する例:
dir /ad /b "C:\Logs" | find "2023"
エラーと対処法

「ファイルが見つかりません」エラー
dir /ad /b "存在しないフォルダ"
→ パスが正しいか確認してください。
アクセス権限エラー
dir /ad /b "C:\System Volume Information"
→ 管理者権限でコマンドプロンプトを起動してください。
文字化け
→ コマンドプロンプトの文字コードを確認し、必要に応じてchcp 65001
(UTF-8)を実行してください。
さらなる活用方法

ファイルサイズによる絞り込み
PowerShellを使用して、特定のサイズ以上のフォルダを表示:
Get-ChildItem -Directory | ForEach-Object {
$size = (Get-ChildItem $_.FullName -Recurse | Measure-Object -Property Length -Sum).Sum
if ($size -gt 100MB) {
Write-Output "$($_.Name): $([math]::Round($size/1MB,2)) MB"
}
}
日付による絞り込み
最近作成されたフォルダのみを表示:
forfiles /m *.* /p . /s /c "cmd /c if @isdir==TRUE echo @path" /d +0
階層の深さを指定
PowerShellで特定の深さまでのフォルダのみ表示:
Get-ChildItem -Directory -Depth 2
おすすめの使い分け

場面別おすすめコマンド
目的 | おすすめコマンド | 理由 |
---|---|---|
基本的なフォルダ確認 | dir /ad /b | シンプルで見やすい |
全階層のフォルダ確認 | dir /ad /b /s | パスが分かりやすい |
バッチ処理での利用 | for /d %i in (*) do ... | 柔軟な処理が可能 |
高度なフィルタリング | PowerShellのコマンド | 複雑な条件指定が可能 |
特定名前のフォルダ検索 | `dir /ad /b | find “検索文字”` |
トラブルシューティング

パフォーマンスの問題
大量のフォルダがある場合の対処法:
- 特定のドライブやフォルダに限定する
/s
オプションは必要な場合のみ使用する- PowerShellの
-Depth
パラメータで階層を制限する
例:
Get-ChildItem -Directory -Depth 1 -ErrorAction SilentlyContinue
権限の問題
アクセス権限エラーの対処法:
- 管理者権限でコマンドプロンプトを起動
icacls
コマンドで権限を確認- エラーを無視して処理を続行:
2>nul
を追加
例:
dir /ad /b /s 2>nul
まとめ
Windowsコマンドプロンプトでフォルダのみを表示する方法は、用途に応じて様々な選択肢があります。
基本的な方法:
dir /ad /b
– フォルダ名のみシンプル表示dir /ad /b /s
– 全階層のフォルダを表示dir /ad
– 詳細情報付きでフォルダ表示
応用的な方法:
for /d
コマンドでバッチ処理find
コマンドで絞り込み- PowerShellで高度なフィルタリング
使い分けの例:
- 単純な確認 →
dir /ad /b
- バッチ処理 →
for /d
ループ - 複雑な条件 → PowerShellのコマンドレット
- 検索・絞り込み →
find
コマンドとの組み合わせ
これらのコマンドを使いこなすことで、ファイル管理の効率が大幅に向上し、自動化スクリプトの作成も容易になります。
まずは基本的なdir /ad /b
から始めて、必要に応じて応用的な方法を取り入れてみてください。
コメント