Вам нужен способ читать каталог и csv
параллельно. Для этого есть хитрость:
@ECHO OFF
setlocal enabledelayedexpansion
<code.csv (
for /f "delims=" %%x in ('dir /b *.jpg') do (
set "NewName="
set /p NewName=
if not defined NewName goto :eof
ECHO ren "%%x" "!NewName!"
)
)
ПРИМЕЧАНИЕ: удалите команду ECHO
, убедившись, что она действительно выполняет команду ren
.
<code.csv ( ... )
обеспечивает одну строку за другой для set /p
в пределах for
l oop. Очистите его перед чтением, чтобы переменная NewName
стала неопределенной, когда больше нет имен из csv
. Выйдите из for
l oop, когда он не определен (больше имен нет).
l oop останавливается, когда больше нет файлов для переименования или нет новых имен из csv
file.
См. dir /?
- особенно переключатель /o
для сортировки файлов (при необходимости) по именам, датам или размерам.
Другой возможностью является сборка массив содержимого csv
или файлов, но я думаю, что это избыточное решение для этой задачи.