Abaixo de um script python.
O script adiciona zeros à esquerda até o número definido de dígitos. Se o nome for maior que isso, o arquivo (nome) será intocado.
A combinação de extensões diferentes em uma ação de renomeação pode adicionar alguma conveniência. Para adicionar extensões, basta adicioná-las à tupla, por exemplo extensions = (".jpg", ".jpeg", ".tiff")
.
Copie o texto em um arquivo vazio, salve-o como rename.py
, digite o caminho correto para o diretório de arquivos ( sourcedir
), o número de dígitos que você deseja que os novos nomes tenham ( number_ofdigits
) e a (s) extensão (ões) do arquivo para renomear ( extensions
)
Execute-o pelo comando:
python3 /path/to/script/rename.py
O script:
#!/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)
editar:
Abaixo uma versão ligeiramente melhorada. Ele determina automaticamente o nome mais longo no diretório e adiciona zeros à esquerda até o tamanho do nome mais longo.
exemplo:
1.jpg
12.jpg
123.jpg
torna-se:
001.jpg
012.jpg
123.jpg
Não há necessidade de definir o número de dígitos.
#!/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])