Poniżej skryptu python.
Skrypt dodaje zera wiodące do określonej liczby cyfr. Jeśli nazwa jest większa, plik (nazwa) pozostaje nietknięty.
Łączenie różnych rozszerzeń w jedną akcję zmiany nazwy może być wygodniejsze. Aby dodać rozszerzenie (rozszerzenia), po prostu dodaj je na przykład do krotki extensions = (".jpg", ".jpeg", ".tiff")
.
Skopiuj tekst do pustego pliku, zapisz go jako rename.py
, wprowadź poprawną ścieżkę do katalogu plików ( sourcedir
), liczbę cyfr, które mają mieć nowe nazwy ( number_ofdigits
) i rozszerzenia (nazwy extensions
) plików, aby zmienić nazwę ( )
Uruchom go za pomocą polecenia:
python3 /path/to/script/rename.py
Scenariusz:
#!/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)
edytować:
Poniżej nieco ulepszonej wersji. Automatycznie określa najdłuższą nazwę w katalogu i dodaje zera wiodące do długości najdłuższej nazwy.
przykład:
1.jpg
12.jpg
123.jpg
staje się:
001.jpg
012.jpg
123.jpg
Nie trzeba ustawiać liczby cyfr.
#!/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])