Ниже скрипт на питоне.
Скрипт добавляет начальные нули до определенного количества цифр. Если имя больше этого, файл (имя) остается без изменений.
Объединение различных расширений в одно действие переименования может добавить некоторое удобство. Чтобы добавить расширения, просто добавьте их, например, в кортеж extensions = (".jpg", ".jpeg", ".tiff")
.
Скопируйте текст в пустой файл, сохраните его как rename.py
, введите правильный путь к каталогу файлов ( sourcedir
), количество цифр, которые вы хотели бы иметь новыми именами ( number_ofdigits
), и расширение (я) файлов для rename ( extensions
)
Запустите его командой:
python3 /path/to/script/rename.py
Сценарий:
#!/usr/bin/python3
import shutil
import os
sourcedir = "/path/to/files"; number_ofdigits = 5; extensions = (".jpg", ".jpeg")
files = os.listdir(sourcedir)
for item in files:
if item.endswith(extensions):
name = item.split("."); zeros = number_ofdigits-len(name[0])
newname = str(zeros*"0")+name[0]+"."+name[1]
shutil.move(sourcedir+"/"+item, sourcedir+"/"+newname)
редактировать:
Ниже немного улучшенная версия. Он автоматически определяет самое длинное имя в каталоге и добавляет начальные нули вплоть до длины самого длинного имени.
пример:
1.jpg
12.jpg
123.jpg
будет выглядеть так:
001.jpg
012.jpg
123.jpg
Нет необходимости устанавливать количество цифр.
#!/usr/bin/python3
import shutil
import os
sourcedir = "/path/to/files"; extensions = (".jpg", ".jpeg")
files = [(f, f[f.rfind("."):], f[:f.rfind(".")]) for f in os.listdir(sourcedir)if f.endswith(extensions)]
maxlen = len(max([f[2] for f in files], key = len))
for item in files:
zeros = maxlen-len(item[2])
shutil.move(sourcedir+"/"+item[0], sourcedir+"/"+str(zeros*"0")+item[0])