Windowsで特定のフォルダ以下の全ファイルを一覧化したい場合に使えるコマンドプロンプトのコマンドについてまとめた。
Linuxで言うfindやtreeコマンドのようなもので、
大量のファイルが入ったHDDにほしいファイルがあるか手軽に調べたい場合など、ファイル一覧をテキスト化しておくと便利なことも多い。
方法は二つあるので、それぞれについて簡単に紹介する。
dirコマンドでファイルフルパスの一覧作成
コマンドプロンプトで以下のコマンドを実行する。
dir /B /S C:\path\to\folder > filelist.txt
すると、以下のような対象フォルダ以下の全ファイルのフルパスがfilelist.txtに出力される。
C:\test\dir1 C:\test\dir2 C:\test\dir1\subdir1 C:\test\dir1\subdir2 C:\test\dir1\subdir1\subsubdir C:\test\dir1\subdir1\test2.txt C:\test\dir1\subdir1\subsubdir\test1.txt C:\test\dir1\subdir2\test3.txt C:\test\dir1\subdir2\test4.txt C:\test\dir2\test5.txt

dirコマンドの/Bオプションでファイル名のみの表示(余計な見出し等を出力しないように)し、/Sオプションでそのフォルダ以下のフォルダを再帰的に見るようにする。
全てのファイルがフルパスで表示されるので、目的のファイルを取得したい場合などはこちらが便利。
treeコマンドでフォルダ構造の図式作成
コマンドプロンプトで以下のコマンドを実行する。
tree /F C:\path\to\folder > filetree.txt
すると、以下のような対象フォルダ以下のファイルを含むフォルダ構造の図式がfiletree.txtに出力される。
フォルダー パスの一覧
ボリューム シリアル番号は 000000BB FEDB:E4B2 です
C:\TEST
├─dir1
│ ├─subdir1
│ │ │ test2.txt
│ │ │
│ │ └─subsubdir
│ │ test1.txt
│ │
│ └─subdir2
│ test3.txt
│ test4.txt
│
└─dir2
test5.txt
treeコマンドのデフォルトはフォルダのみ表示のため、/Fオプションでファイル名も表示するようにする。
フォルダ構造を把握するにはこちらが便利だが、ファイル数が多くなると見辛くなる。
まとめ
Windowsのコマンドプロンプトで特定のフォルダ以下のファイル一覧をテキストファイルで出力する二つの方法を見た。
個人的にはdirコマンドの方が汎用性が高く便利だと思うが、treeコマンドも場合によっては使えることもありそうなので、両方知っていて損はなさそう。
以上