Ho una directory che contiene un gran numero di file di immagine, alcuni dei quali sono in sottodirectory. Devo rinominare tutti i file immagine corrispondenti *.png, *.jpg, *.jpeg, *.bmp, *.gif
utilizzando un modello semplice per rinominare:
- lo stesso prefisso per tutti i file;
- un numero con padding zeri e stampato come stringa esadecimale.
Il mio obiettivo è quello di assegnare un nome univoco a tutti i file immagine, indipendentemente dalla loro estensione, in modo da poterli poi convertire nello stesso formato immagine senza il rischio di sovrascrivere quei file con lo stesso nome.
Stavo scrivendo una sceneggiatura per eseguire la suddetta procedura (per l'elenco delle directory, mi sono ispirato al frammento di codice di questa risposta ).
for root, dirs, filenames in os.walk(path):
for filename in filenames:
if filename.endswith((".jpeg", ".jpg", ".png", ".gif", ".bmp")):
# rename file
Mi stavo chiedendo se ci fosse un comando bash o powershell al fine di eseguire la procedura di cui sopra.