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


@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 (
    if not "%%b"=="" (set "sub1=%%b") else (set "sub1=%%a")
)
for /f "tokens=1,* delims=-" %%a in ("!name2!") do (
    if not "%%b"=="" (set "sub2=%%b") else (set "sub2=%%a")
)

echo Первое фото: "!file1!" (окончание -!sub1!)
echo Второе фото: "!file2!" (окончание -!sub2!)
echo.

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

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

:: Запуск цикла копирования и переименования
for /L %%i in (1, 1, !count!) do (
    set "num=00%%i"
    set "num=!num:~-3!"
    
    set "new1=!num!-!sub1!!ext1!"
    set "new2=!num!-!sub2!!ext2!"
    
    :: Копируем только если новое имя не совпадает с исходным файлом
    if /i not "!file1!"=="!new1!" copy /y "!file1!" "!new1!" >nul
    if /i not "!file2!"=="!new2!" copy /y "!file2!" "!new2!" >nul
    
    echo Создана пара: !new1! и !new2!
)

:: Удаление исходников (только если они сами не являются первой копией 001-...)
if /i not "!file1!"=="001-!sub1!!ext1!" del /q "!file1!"
if /i not "!file2!"=="001-!sub2!!ext2!" del /q "!file2!"

echo.
echo [Готово] Копии созданы.
pause