指定フォルダ以下にある特定拡張子のファイル名の一覧をテキストに書き出す方法
こんにちは。thimiです。
今日は、フォルダ内のファイルリストを作成する方法です。
下記を記述して、batファイルをクリックするだけで、
batファイルが保存してあるフォルダ以下のファイル名を取得します。
filelist.bat | |
---|---|
@echo off | コマンドプロンプトへ非表示 |
rem 「file_list.csv」ファイルが既に存在する場合は削除 | rem:コメント(覚書記載) |
if exist file_list.csv del file_list.csv | 既にファイルがある場合は 一度削除する処理 |
rem batファイル以下のフォルダ全検索 | rem:コメント(覚書記載) |
dir /B /S *.xml > file_list.csv | 拡張子「.xml」のファイル名を全て取得し、 「file_list.csv」に書き出し |
バッチファイルの内容を簡単に説明します。
「if」コマンド
条件文コマンドです。
今回は、file_list.csv がexist(存在していたら)、file_list.csvをdel(消して)ください
という条件文です。
※今回は、上書き実行なのでif文はなくても大丈夫です。
「dir」コマンド
ファイルやディレクトリの表示を行うコマンドです。
オプションとして「/B」を追加することで、ファイル名のみ表示します。
オプションとして「/S」を追加することで、指定したディレクトリとサブディレクトリを表示します。
「*」コマンド
アスタリスクは、ワイルドカードとなります。「*.xml」を記載することで、xmlという拡張子ならば、全て取得となります。
※txtファイル一覧の場合は「*.txt」のように取得したい拡張子に変更してください。
「>」コマンド
「> ファイル名」で、ファイルへ出力します。
※今回はcsvファイルへ出力にしましたが、txtファイルに出力したい場合は
「> file_list.txt」に変更します。
実際に、下記のような構成のフォルダ以下のファイル名を取得します。
先ほど作成した「filelist.bat」をダブルクリックで実行すると、
下記のように、フォルダ以下のファイルパス一覧が取得出来ました。