#!/usr/bin/python3 import os import re import sys def rename_files(directory): # Wechsel in das Zielverzeichnis os.chdir(directory) # Iteriere über alle Dateien im Verzeichnis for file in os.listdir("."): # Prüfe, ob es sich um eine Datei handelt if os.path.isfile(file): rename_file(file) def rename_file(filename): #if not os.path.exists(filename): if '.' in filename: name, extension = filename.rsplit('.', 1) else: name = filename.split('.')[0] extension = filename.split('.')[1] #name, extension = filename.rsplit('.', 1) if '.' in filename else (name = filename.split('.')[0]) # ohne Endung #print(temp+"."+filename.split('.')[1]) #os.rename(filename, temp+"."+filename.split('.')[1]) match1 = re.search(r'# (\d+)', name) match2 = re.search(r'#(\d+)', name) match3 = re.search(r'\((Folge) (\d+)\)', name) if match1: temp = re.sub(r'\(.*?\)', '', name) # Alles was mit Beginne ( bis einschliesslioch ) löschen # Extrahiere die Zahl und formatiere sie als 2-stellig (z. B. 05, 22) number = match1.group(1).zfill(2) # zfill(2) sorgt für zweistellige Zahlen # Entferne das `#` und die Zahl aus dem Dateinamen new_name = re.sub(r'# \d+', '', temp) new_name = f"{number}-{new_name}" # Entfernen der letzten Leerzeichen new_name = new_name.rstrip() # LÖschen der abschliesssenden Leerzeichen elif match2: temp = re.sub(r'\(.*?\)', '', name) # Alles was mit Beginne ( bis einschliesslioch ) löschen # Extrahiere die Zahl und formatiere sie als 2-stellig (z. B. 05, 22) number = match2.group(1).zfill(2) # zfill(2) sorgt für zweistellige Zahlen # Entferne das `#` und die Zahl aus dem Dateinamen new_name = re.sub(r'#(\d+)', '', temp) new_name = f"{number}-{new_name}" # Entfernen der letzten Leerzeichen new_name = new_name.rstrip() elif match3: number = match3.group(2).zfill(2) temp = re.sub(r'\(.*?\)', '', name) # Alles was mit Beginne ( bis einschliesslioch ) löschen new_name = f"{number}-{temp}" new_name = new_name.rstrip() else: print("Keine Nummer gefunden") if " " in new_name: new_name = new_name.replace(" ", "_") if "," in new_name: new_name = new_name.replace(",", "_") os.rename(filename, new_name+"."+extension) rename_files(sys.argv[1])