@echo off
:: ============================================================
:: BulkRename.bat
::
:: Renames all files in a folder matching a given extension by
:: adding a sequential number and/or replacing a text pattern.
::
:: Usage:
::   BulkRename.bat "C:\Photos" jpg "Vacation2026_"
::
:: Result:
::   C:\Photos\Vacation2026_001.jpg
::   C:\Photos\Vacation2026_002.jpg
::   ...
:: ============================================================

setlocal EnableDelayedExpansion

if "%~3"=="" (
    echo Usage: %~nx0 "FolderPath" extension "NewNamePrefix"
    echo Example: %~nx0 "C:\Photos" jpg "Vacation2026_"
    exit /b 1
)

set "FOLDER=%~1"
set "EXT=%~2"
set "PREFIX=%~3"

if not exist "%FOLDER%" (
    echo Folder not found: %FOLDER%
    exit /b 1
)

set /a COUNT=0
pushd "%FOLDER%"

for %%F in (*.%EXT%) do (
    set /a COUNT+=1
    set "NUM=00!COUNT!"
    set "NUM=!NUM:~-3!"
    echo Renaming "%%F" -^> "%PREFIX%!NUM!.%EXT%"
    ren "%%F" "%PREFIX%!NUM!.%EXT%"
)

popd

echo.
echo Renamed %COUNT% file(s).
endlocal
