Se assumirmos que todos os arquivos têm dois ou mais hipens e todos os arquivos são mp3, renomear (em python) levaria apenas algumas linhas:
hyps = [i for i in range(len(name)) if name[i] == "-"]
name = name[:hyps[1]]+"mp3"
No entanto, na minha opinião, um script deve (sem informações explícitas que não é necessário) levar em conta, pelo menos, a possibilidade de que o diretório tenha subdiretórios e / ou contenha:
- arquivos ocultos
- arquivos sem extensão
- arquivos com vários tipos de extensões
- os nomes dos arquivos têm apenas um, mais que dois ou nenhum hipens
para que:
file1-2-3-4-5.txt
a-b-c-d-e
Akouo - Float-H6hQuio26Ww.mp3
torna-se:
file1-2.txt
a-b
Akouo - Float.mp3
O script é um pouco mais extenso:
#!/usr/bin/env python3
import shutil
import os
sourcedir = "/path/to/files"
for root, dirs, files in os.walk(sourcedir):
for name in files:
if name.startswith(".") or name.count("-") < 2:
pass
else:
if name.count(".") == 0:
extension = ""
else:
extension = name[name.rfind("."):]
hyps = [i for i in range(len(name)) if name[i] == "-"]
newname = name[:hyps[1]].strip()+extension
shutil.move(root+"/"+name, root+"/"+newname)
Copie o script em um arquivo vazio, defina o caminho para seu diretório e salve-o como rename.py
. Execute-o pelo comando:
python3 /path/to/rename.py