ビジネス 業務効率化 2024年4月7日

フォルダ内のファイル名の先頭や末尾に特定の文字を追加する~リネーム用バッチファイル~

こんばんは。
コーディングの際に大量の画像ファイル名の先頭に特定の文字を追加してリネームする作業があったため、バッチファイルを作成してみました。

バッチを実行したあとのながれ

  1. リネームしたいフォルダをコマンドプロンプトに入力
  2. ファイル名の先頭に追加するのかをy/n入力
  3. 追加したい特定の文字列を入力

バッチを実行したあとのながれ

雑多にコードだけを記載します。


@echo off
setlocal enabledelayedexpansion

REM リネームするフォルダのパスを入力してもらいます
set /p "folder_path=リネームしたいフォルダのパスを入力してください: "

REM パスが存在するかチェックします
if not exist "%folder_path%" (
    echo フォルダが見つかりません。
    pause
    exit /b
)

REM 先頭に追加するか末尾に追加するか選択してもらいます
set /p "add_to_beginning=ファイル名の先頭に追加しますか?(y/n): "
if /i "%add_to_beginning%"=="y" (
    set "add_to_beginning=true"
) else (
    set "add_to_beginning=false"
)

REM 追加する文字列を入力してもらいます
set /p "string_to_add=追加する文字列を入力してください: "

REM フォルダ内のファイルを再帰的に処理します
for /r "%folder_path%" %%F in (*) do (
    set "old_name=%%~nxF"
    set "extension=%%~xF"

    if "%add_to_beginning%"=="true" (
        set "new_name=!string_to_add!!old_name!"
    ) else (
        set "new_name=!old_name!!string_to_add!"
    )

    REM ファイルをリネームします
    ren "%%F" "!new_name!"
)

echo 完了しました。
pause