例として以下の条件で考えます。

  • フォルダ: Desktop
  • 拡張子: *.txt

このとき、Desktopフォルダ以下の*.txtファイルの一覧は以下のコマンドで表示できます。

1
2
dir /s /b Desktop\*.txt

/sは再帰検索、/bはファイル名のみ表示するオプションです。少し気持ち悪い指定ですが、これでDesktop以下の全てのサブディレクトリに存在する*.txtファイルを表示できます。

ファイル一覧が表示できたので、この結果をfor文に渡します。 例として、ファイルリストの前後にAAABBBを付けてechoします。

1
2
for /f "usebackq tokens=*" %%i in (`dir /s /b Desktop\*.txt`) do @echo AAA %%i BBB

これで echo AAA %%i BBBにファイル一覧が渡り、前後にAAABBBが付きました。