@echo offやりたいことは簡単なのに、なんだか回りくどい書き方になってしまった。中間ファイルも生成するし。もっとシンプルに書けないかなー。
setlocal enabledelayedexpansion
for /r %%i in (*.*) do (
echo %%~ni%%~xi | findstr IMG_[0-9][0-9][0-9][0-9].CR2 >NUL
if not "!ERRORLEVEL!"=="1" (
set oldname=%%~ni%%~xi
set newname=!oldname:IMG_=IMG_05!
echo rename %%i !newname!>>filelist.bat
)
)
call filelist.bat
del filelist.bat
Author:2sk170
どうでもいいことをいろいろ書いています。