1

Тема: CMD/BAT: Переименовать сотни файлов по определенным правилам.

Здравствуйте, есть сотни файлов с именами вида "00001-Название", при добавлении новых, нужно смещать нумерацию на количество добавленных.

Можно ли сделать, чтобы нумерация начиналась с заданной цифры, т.е. добавил я 10 новых файлов, выставил начало с 11 и "00001-Название" становится "00011-Название", а "00550-Название" -> "00560-Название", но чтобы нумерация шла по порядку, а не дате создания.

2

Re: CMD/BAT: Переименовать сотни файлов по определенным правилам.

Считаю, что vbs/js-скриптами переименования с такими сдвигами будет куда проще реализовать, чем пакетным cmd-файлом.

Условия, кстати, не совсем понятные: какие файлы в папке уже были, какие добавили, может ли получиться, что имена при переименованиях совпадут и т.п.


Просто к слову: ежели надо будет руками задавать параметр сдвига счётчика в именах файлов, то может логичнее воспользоваться готовыми продуктами - например, в Total Commander есть т.н. "Пакетное переименование" -  выделяете файлы, подлежащие переименования, и задаёте шаблон нового имени, в которое можно заложить и счётчик, начинающийся с указанной позиции, и подстроку из прежнего имени. Смотрите на предполагаемый результат и запускаете переименование.
Рекомендую попробовать.

WBR. Roman

3 (изменено: Ed, 2014-06-22 15:08:45)

Re: CMD/BAT: Переименовать сотни файлов по определенным правилам.

Rom5
1) В папке файлы с именами "00001-Название", "00002-Название" и т.д.
2) Новые файлы можно не брать в расчет, я их могу добавить после переименования старых.
3) Имена не могут совпасть.

Спасибо большое за наводку, Total Commander на это способен, отлично.

4

Re: CMD/BAT: Переименовать сотни файлов по определенным правилам.

@echo off
chcp 1251>nul
for %%i in ("*-Название") do set /a m+=1
echo Enter the start number.
echo.
set /p n=
for /l %%i in (%m% -1 1) do (
 set $index1=0000%%i
 set /a $index2=%%i+n-1
 call set $index2=0000%%$index2%%
 call ren "%%$index1:~-5%%-Название" "%%$index2:~-5%%-Название"
 )
exit /b

5

Re: CMD/BAT: Переименовать сотни файлов по определенным правилам.

Yury
Спасибо, но я сделал все Total Commander-ом, оказалось все легко и наглядно. Думал слишком специфично.