• ベストアンサー

画像のドットの部分が抜けていて一括で修正を行いたい

画像のドットの部分が抜けていて、 一括で、修正を行いたいです。 バッチで、後ろから4番目(JPGの横にドット)を入れるスプリクトを教えていただけないでしょうか。 abcJPG → abc.JPGのようにしたいです。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • luka3
  • ベストアンサー率72% (453/623)
回答No.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

s52i4z9
質問者

お礼

ご丁寧に有難うございました。 解決しました。 本当に有難うございました。

Powered by GRATICA

その他の回答 (1)

  • luka3
  • ベストアンサー率72% (453/623)
回答No.1

たぶん大丈夫と思いますが、いきなり本番は怖いので、最後のリネームの前に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%"

関連するQ&A