- ベストアンサー
画像のドットの部分が抜けていて一括で修正を行いたい
画像のドットの部分が抜けていて、 一括で、修正を行いたいです。 バッチで、後ろから4番目(JPGの横にドット)を入れるスプリクトを教えていただけないでしょうか。 abcJPG → abc.JPGのようにしたいです。 よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
https://okwave.jp/qa/q10232045.html を見ました。 要は、拡張子とそれ以外に分ければいいので、こうしたらいいはずです。 @echo off setlocal enabledelayedexpansion set "source_folder=C:\path\to\your\images" for %%f in (%source_folder%\*) do ( set "filename=%%~nf" set "ext=%%~xf" set "filename=!filename:+=!" set "filename=!filename:.=!" set "filename=!filename:_=!" ren "%%f" "!filename!!ext!" ) echo Done! pause
その他の回答 (1)
- luka3
- ベストアンサー率72% (453/623)
たぶん大丈夫と思いますが、いきなり本番は怖いので、最後のリネームの前にECHOを入れています。 この状態では、実行されるコマンドが画面に表示されるだけでリネームされませんので、実際にどのようにリネームされるか確認できます。 OKでしたら最後の『ECHO 』の部分を削除して実行するか、 もしくは『このバッチ.BAT > 本番.BAT』として別のバッチに写し取って本番.BATを実行する、としてもらえれば。 なお、すでに拡張子があるものは処理されません。 @ECHO OFF FOR /F %%I IN ('dir /b *jpg') DO @CALL :RN "%%~I" PAUSE EXIT /B :RN SET "FN=%~1" SET "R4=%FN:~-4,1%" IF "%R4%"=="." GOTO :EOF SET "MAIN=%FN:~0,-3%" SET "EXT=%FN:~-3%" ECHO REN "%FN%" "%MAIN%.%EXT%"
お礼