【バッチファイル】指定フォルダ配下(サブフォルダ含む)の、全ての対象ファイルに対して処理を行う【再帰】

指定フォルダ配下(サブフォルダ含む)の
 ・全ての対象ファイル
に対し、処理を行うコードを記載します!

コード

ここでは例として
 ・デスクトップにある「test」フォルダ配下の
 ・全てのcsvファイルのみに対して処理(ファイル名を画面へ出力)
をします。
※「test」フォルダには「csvファイルを含む複数のファイル」があります。
※「test」フォルダには「sub」フォルダがあります。
※「sub」フォルダには「csvファイルを含む複数のファイル」があります。

「test」フォルダ
「test」フォルダ
「test」フォルダの中の「sub」フォルダ
「test」フォルダの中の「sub」フォルダ
@echo off

REM 対象フォルダ
set targetFolder=C:\Users\user\Desktop\test
REM 対象ファイル
set targetFile=*.csv

REM 指定フォルダ配下(サブフォルダ含む)の全ての対象ファイルに対して処理を行う
for /r "%targetFolder%\" %%a in ("%targetFile%") do ( 
	REM ファイル名を画面へ出力
	echo 対象ファイル:%%a
)

echo.
pause
exit

対象フォルダを設定します(4行目)。

対象ファイルを設定します(6行目)。
※上記では「csvファイル」を指定しています。

「for」コマンドに「/r 対象フォルダ」を記載することで、「サブフォルダも対象(再帰)」にします(9行目)。

実行結果

指定フォルダ配下(サブフォルダ含む)の、全ての対象ファイルに対して処理できました。
※サブフォルダも含め、全てのcsvファイルのみに対して処理できました。

実行結果
実行結果

参考

上記で使用した以下の詳細は、公式サイトをご確認ください。

「for」コマンド

タイトルとURLをコピーしました