@xXxZinaidaXxX

Как массово переименовать файлы в папке с кастомной нумерацией?

Стоит задача переименовать все файлы в папке (чаще всего фотографии), чтобы они оказались пронумерованы не просто по списку типа:
1.jpg
2.jpg
3.jpg
4.jpg
5.jpg
6.jpg
и т.д.

А пронумеровались в подобном виде:
1-1.jpg
1-2.jpg
2-1.jpg
2-2.jpg
3-1.jpg
3-2.jpg
и т.д.

Т.е. чтобы в названиях файлы, грубо говоря, "рассчитались на первый-второй". Подскажите, какая программа или скрипт может так сделать? Заранее благодарю.
  • Вопрос задан
  • 64 просмотра
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
В линуксе:
rename 's/(\d+)(\..*)$/sprintf("%d-%d%s", ($1+1)>>1, ($1-1)%2+1, $2)/e' *

В виндовсе bat-файлом:
@echo off
setlocal enabledelayedexpansion
for %%f in (*.jpg) do (
  set name=%%~nf
  set ext=%%~xf
  set /a n1="(%name+1)/2"
  set /a n2="((%name-1)&1)+1"
  rename %%f !n1!-!n2!!ext!
)
endlocal
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы