Загрузка данных


@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion

:: Поиск первых двух изображений в текущей папке
set "file1="
set "file2="

for %%F in (*.jpg *.jpeg *.png *.bmp *.webp) do (
    if not defined file1 (
        set "file1=%%F"
        set "name1=%%~nF"
        set "ext1=%%~xF"
    ) else if not defined file2 (
        set "file2=%%F"
        set "name2=%%~nF"
        set "ext2=%%~xF"
    )
)

:: Проверка наличия двух файлов
if not defined file2 (
    echo [Ошибка] В папке должно быть как минимум два изображения.
    pause
    exit /b
)

:: Разделяем имена файлов на первую часть (до дефиса) и вторую (после дефиса)
for /f "tokens=1,* delims=-" %%a in ("!name1!") do (
    set "pref1=%%a"
    if not "%%b"=="" (set "sub1=%%b") else (set "sub1=%%a")
)
for /f "tokens=1,* delims=-" %%a in ("!name2!") do (
    set "pref2=%%a"
    if not "%%b"=="" (set "sub2=%%b") else (set "sub2=%%a")
)

:: Убираем ведущие нули перед математическим сложением (защита от ошибки на числах 008 и 009)
set "start1="
for /f "tokens=* delims=0" %%z in ("!pref1!") do set "start1=%%z"
if not defined start1 set "start1=0"

set "start2="
for /f "tokens=* delims=0" %%z in ("!pref2!") do set "start2=%%z"
if not defined start2 set "start2=0"

echo Первое фото: "!file1!"
echo Второе фото: "!file2!"
echo.

:: Ввод количества копий
set "count=0"
set /p "count=Введите количество копий: "

if !count! LEQ 0 (
    echo [Отмена] Введено некорректное количество.
    pause
    exit /b
)

:: Запуск цикла: к исходному номеру на каждом шаге прибавляется 1
for /L %%i in (1, 1, !count!) do (
    set /a "cur1=start1 + %%i"
    set /a "cur2=start2 + %%i"
    
    set "num1=00!cur1!"
    set "num1=!num1:~-3!"
    
    set "num2=00!cur2!"
    set "num2=!num2:~-3!"
    
    set "new1=!num1!-!sub1!!ext1!"
    set "new2=!num2!-!sub2!!ext2!"
    
    copy /y "!file1!" "!new1!" >nul
    copy /y "!file2!" "!new2!" >nul
    
    echo Создана пара: !new1! и !new2!
)

echo.
echo [Готово] Копии созданы, исходные файлы сохранены.
pause