【Windows】バッチ(bat)でフォルダ・ファイル一覧を取得する

フォルダ内のファイルやサブフォルダをかんたんにリストアップする方法をご紹介します。

コマンドプロンプトからdirコマンドを利用します。
Windowsバッチ(bat)で、ワンクリックで自動実行したいと思います。

次のパターンでそれぞれbatファイルのサンプルコードをご紹介します。
・フォルダ内のサブフォルダとファイル
・フォルダ内のサブフォルダのみ
・フォルダ内のファイルのみ
・サブフォルダ内のファイルすべて

それでは見ていきましょう!

目次

フォルダ内のサブフォルダとファイル一覧を取得

コマンドをメモ帳などに書き込み、拡張子を.batにします。
ダブルクリックすると、コマンドプロンプトが立ち上がり、指定した処理が実行されます。

Windows環境だと、特に何のアプリ追加も要りません。
知っているととても便利です。

具体的に、フォルダ内のファイルを列挙するバッチ処理例をご紹介していきたいと思います。

@echo off

set "folder=.\"

for /f %%f in ('dir "%folder%\*" /b') do (
  echo %%f
)
pause

<バッチファイル名>.batを作成し、上記のコマンドを書き込みます。
ダブルクリック実行すると、コマンドプロンプトが起動し、処理が実行されます。
今回は「listup.bat」としました。

下記のフォルダ構成で実行しました。
想定通り、フォルダ内のサブフォルダ、ファイルをすべて列挙することができました。

例えば、フォルダ内のファイル名をすべて列挙して、エクセルに転記したい場合を考えます。
対象のフォルダに「listup.bat」を持ってきて実行します。
するとコマンドプロンプト表示ですべて列挙されますので、あとはコピペで簡単に転記できます。

これで、フォルダを開いてエクセルにファイル名をポチポチ打ち込む作業からサヨナラです。
こまごまとしたシーンでとても役にたちます。

フォルダ内のサブフォルダのみの一覧を取得

サブフォルダのみを列挙したい場合のサンプルです。

@echo off

set "folder=.\"

for /f %%f in ('dir "%folder%\*" /AD /B') do (
  echo %%f
)

pause

フォルダ内のファイルのみの一覧を取得

ファイルのみを列挙したい場合のサンプルです。

@echo off

set "folder=.\"

for /f %%f in ('dir "%folder%\*" /A:-D /B') do (
  echo %%f
)
pause

サブフォルダ内のファイルすべて

サブフォルダ内のファイルすべてを列挙したい場合のサンプルです。

@echo off
setlocal

set "folder=.\"

for /r "%folder%" %%f in (*) do (
  echo %%f
)

endlocal
pause

以上になります。

この記事がお役に立てれば幸いです。
それでは、読んで頂きありがとうございました!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次