@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