Нижче сценарій пітона.
Сценарій додає провідні нулі до визначеної кількості цифр. Якщо назва більше, ніж це, файл (ім’я) не торкається.
Поєднання різних розширень в одній дії з перейменуванням може додати певну зручність. Щоб додати розширення, просто додайте їх до кортежу, наприклад extensions = (".jpg", ".jpeg", ".tiff")
.
Скопіюйте текст у порожній файл, збережіть його як rename.py
, введіть правильний шлях до каталогу файлів ( sourcedir
), кількість цифр, які ви хочете, щоб нові імена мали ( number_ofdigits
) та розширення (файли) файлів для перейменування ( 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])