前提
指定フォルダは「C:\Users\user\Desktop\test」。
対象ファイルは「aioueo_*」。
![指定フォルダと指定ファイル](https://it-skill-memo.work/wp-content/uploads/2021/08/bat_targetfolder_file_001.png)
サンプルプログラム
@ECHO OFF
setlocal enabledelayedexpansion
REM 対象フォルダ
SET targetFolder=C:\Users\user\Desktop\test\
REM 対象ファイル
SET targetFiles=aioueo_*
REM 対象フォルダ配下の対象ファイル数を取得
SET /a fileCount=0
FOR %%a IN (%targetFolder%%targetFiles%) DO (
IF EXIST %%a (
SET /a fileCount=fileCount+1
)
)
ECHO 対象ファイル数は%fileCount%
ECHO.
REM 対象ファイル数が0でない場合
IF %fileCount% neq 0 (
ECHO 対象ファイル数が0でないため処理続行
ECHO.
REM 対象フォルダ配下の対象ファイルを取得するコマンドを作成
SET getFileListCmd=DIR /b %targetFolder%%targetFiles%
REM コマンド実行により「対象フォルダ配下の対象ファイル」の数だけ繰り返し
FOR /F %%a IN ('!getFileListCmd!') DO (
ECHO %%aは処理対象
)
) ELSE (
ECHO 対象ファイル数が0のため処理はしない
ECHO.
)
ECHO.
PAUSE
EXIT
実行結果
指定フォルダ配下の指定ファイルのみ、処理対象とできました。
![実行結果](https://it-skill-memo.work/wp-content/uploads/2021/08/bat_targetfolder_file_002.png)