指定フォルダ以下のファイル名一覧を作成した後に再度ファイル名を検索してテキストに追加して書き出す方法
こんにちは。thimiです。
今回は、ファイル書き出し方法の中で、追加して書き出す方法についてです。
前回のファイルリスト作成の記事では、検索したファイル名を書き出す方法を紹介しました。
https://thimi-lifehack.com/create_filelist/
今回は、ファイルへの書き出し部分を少しだけ変更します。
試しに下記内容でバッチファイルを作成してみてください。
filelist2.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」に追加で書き出し |
先ほどと同じ下記フォルダ構成で実行してみます。
1回実行すると、バッチファイルが保存されているフォルダ以下のファイル一覧を取得できたと思います。(「filelist.bat」を実行した結果と同じ)
もう一度同じバッチファイルを実行すると、先ほど作成したファイル一覧の下に再度ファイル名が追記されているはずです。
フィルリスト一覧抽出では、追加書き出しはしないと思いますが、逆に間違って記載するとなぜかリストを書き出すとファイル数が実際より多い!?となってしまうかもしれないので知っておくと良いと思います。
ファイルへ書き出し :[コマンド>ファイル名]
ファイル追加書き出し:[コマンド>>ファイル名]
バッチファイルの内容を簡単に説明します。
「dir」コマンド
ファイルやディレクトリの表示を行うコマンドです。
オプションとして「/B」を追加することで、ファイル名のみ表示します。
オプションとして「/S」を追加することで、指定したディレクトリとサブディレクトリを表示します。
「*」コマンド
アスタリスクは、ワイルドカードとなります。「*.xml」を記載することで、xmlという拡張子ならば、全て取得となります。
※txtファイル一覧の場合は「*.txt」のように取得したい拡張子に変更してください。
「>>」コマンド
「>> ファイル名」で、ファイルへ追加して出力します。
※今回はcsvファイルへ出力にしましたが、txtファイルに出力したい場合は
「>> file_list.txt」に変更します。