【bat】バッチファイルで指定したフォルダ配下のファイル一覧を取得する方法

Windowsのバッチファイルを使って、指定したフォルダ配下のファイル一覧を簡単に取得する方法をご紹介します。

ファイル一覧を取得するバッチファイル

まず、メモ帳などのテキストエディタを開きます。Windows標準のメモ帳で十分です。

次に、以下のコードをテキストエディタにコピーします。

@echo off
setlocal

rem フォルダパスを設定
set TARGET_DIR=C:\path\to\your\folder

rem 結果を保存するファイルを設定
set OUTPUT_FILE=filelist.txt

rem 指定したフォルダ配下のファイル一覧を取得してファイルに保存
dir /s /b "%TARGET_DIR%" > "%OUTPUT_FILE%"

echo ファイル一覧を %OUTPUT_FILE% に保存しました。

endlocal
pause

set TARGET_DIR=C:\path\to\your\folder の部分を、あなたが対象とするフォルダのパスに置き換えます。例えば、C:\Users\Username\Documents などです。

次に、このファイルを .bat 拡張子で保存します。例えば、list_files.bat という名前にします。保存場所は、デスクトップや任意のフォルダで構いません。

保存したバッチファイルをダブルクリックすると、指定したフォルダ配下のファイル一覧が取得され、同じフォルダに filelist.txt という名前のファイルに保存されます。

コードの説明

ここで、バッチファイルのコードの各部分について簡単に説明します。

  • @echo off: コマンド実行中にコマンド自体を表示しないようにします。
  • setlocal: バッチファイル内での環境変数の変更が、バッチファイルの終了後に元に戻るようにします。
  • set TARGET_DIR=C:\path\to\your\folder: 対象とするフォルダのパスを設定します。
  • set OUTPUT_FILE=filelist.txt: 結果を保存するファイル名を設定します。
  • dir /s /b “%TARGET_DIR%” > “%OUTPUT_FILE%”: DIR コマンドを使用して、指定フォルダ配下のファイル一覧を取得し、結果を OUTPUT_FILE に保存します。/s はサブディレクトリを含むすべてのファイルを表示し、/b はファイル名のみを表示します。
  • echo ファイル一覧を %OUTPUT_FILE% に保存しました。: メッセージを表示して、処理が完了したことを知らせます。
  • endlocal: バッチファイル内のローカル環境設定を終了します。
  • pause: ユーザーがキーを押すまでコンソール画面を保持します。