バッチファイルでフォルダ内のファイル一覧を取得してみた

bat bat

バッチファイルを利用してフォルダ内のファイル名の一覧を取得してみました。
また、更新日時やサイズ順などでソートして取得する方法も試してみました。

広告

ファイル名一覧を取得するコマンド

以下のコマンドでファイル名の一覧を取得できます。

chcp 65001
//@echo off
dir /b C:\hogehoge\hogehoge > filename_list.txt
pause

dir コマンドでフォルダのパスを指定し、 /b オプションを使用してファイル名のみを表示します。
そして最後に、> filename_list.txt を使用して、ファイル名の一覧をテキストファイルに書き込みます。
今回は明示的に @echo off は無効化しています。

ファイル一覧を書き込むファイルは実行したバッチファイルと同じフォルダに作成されます。

実行結果

・実行時のプロンプトの出力

実行時のプロンプトの出力

・作成されたファイルに指定フォルダのファイル一覧が出力

作成されたファイルに指定フォルダのファイル一覧が出力

バッチファイルを実行すると上記のように指定したフォルダの中にあるファイル名が一覧として出力されます。

ファイル一覧をソートして取得するコマンド

dir コマンドの [/o] オプションを利用することでソートして出力することが可能です。

/o オプションと次の値を組み合わせてソートします。

  • n:名前順 (アルファベット)
  • s:サイズ順 (小さい方から)
  • e:拡張子順 (アルファベット)
  • d:日時順 (古い方から)
  • g:グループ (ディレクトリから)
  • :降順

日時順でソートをするコマンド

chcp 65001
//@echo off
dir /b /o:d C:\hogehoge\hogehoge > sorted_filename_list.txt
pause

実行結果

作成されたファイルに指定フォルダのファイル一覧が出力され、日時順にソートされていることが分かります。

作成されたファイルに指定フォルダのファイル一覧が出力され、日時順にソートされる

タイトルとURLをコピーしました