Bir python betiğinin altında.
Komut, tanımlanmış basamak sayısına kadar baştaki sıfırları ekler. Eğer isim bundan daha büyükse, dosyaya (isim) dokunulmaz.
Farklı uzantıları bir yeniden adlandırma eyleminde birleştirmek bazı kolaylıklar sağlayabilir. Uzantı eklemek için bunları basitçe demete ekleyin extensions = (".jpg", ".jpeg", ".tiff")
.
Metni boş bir dosyaya kopyalayın, farklı kaydedin rename.py
, dosya dizinine ( sourcedir
) doğru yolu , yeni adların ( number_ofdigits
) olmasını istediğiniz basamak sayısını ( ) ve yeniden adlandırılmasını ( extensions
) istediğiniz dosya uzantısını girin.
Komutu ile çalıştırın:
python3 /path/to/script/rename.py
Senaryo:
#!/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)
Düzenle:
Biraz geliştirilmiş bir sürümün altında. Dizindeki en uzun adı otomatik olarak belirler ve en uzun adın uzunluğuna kadar baştaki sıfırları ekler.
örnek:
1.jpg
12.jpg
123.jpg
dönüşür:
001.jpg
012.jpg
123.jpg
Rakam sayısını ayarlamanıza gerek yok.
#!/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])