dirコマンドを利用して、フォルダ内のファイルのリストをテキストファイルに出力するバッチファイルを紹介します。
ファイルリストをテキストファイルに出力するバッチファイル
ファイルの一覧表示を行うdirコマンドを用いることで、簡単に実現することができます。具体的には以下のコードで、カレントディレクトリのファイルリストを「filelist.txt」に出力します。
2行目は自動でリストを開くコマンドなので、開く必要がなければ1行目のみでOKです。
dir /b > filelist.txt
start filelist.txt
dirの[/b]オプションはファイル名のみを一覧表示するオプションです。
以下のフォルダで実行してみましょう。
実行すると、以下のようなテキストファイルが表示されました。
ファイルリストができていることがわかります。
ファイルリストをテキストファイルに出力するバッチファイル(改良版)
上記のコマンドだと、バッチファイルそのもの(createFileList.bat)と、出力されるリスト(filelist.txt)もファイルリストに含まれてしまいます。
もし、これが見栄えが悪くて嫌な場合には、以下のようにfindstrコマンドで所定の文字列を除外したファイルを出力することで、不要なファイル名を一覧から削除することができます。
dir /b > filelist_temp.txt
findstr /v "createFileList.bat filelist_temp.txt" filelist_temp.txt > filelist.txt
del filelist_temp.txt
start filelist.txt
上記を実行すると以下の結果となり、除去できていることがわかります。
findstrコマンドの[/v]オプションは、その後に指定した文字列(”createFileList.bat filelist_temp.txt”)を除外した検索結果を返すコマンドです。
これを利用することで、ファイルから不要な文字列の入った行を削除することができます。