commit 071a9706f68801ad55d25f5faeb8b4820b0e63b3 Author: Sven Riwoldt Date: Sun Jan 26 13:47:36 2025 +0100 Init diff --git a/rename.py b/rename.py new file mode 100755 index 0000000..c410f0e --- /dev/null +++ b/rename.py @@ -0,0 +1,83 @@ +#!/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): + # Finde den `_#__35`-Teil im Dateinamen + match = re.search(r'_#_\d+', file) + if match: + # Entferne das `#` und extrahiere den modifizierten Ausdruck + prefix = match.group(0).replace('#', '') + + # Entferne den `_#__35`-Teil aus dem Dateinamen + new_name = re.sub(r'_#_\d+', '', file) + + # Füge den modifizierten Ausdruck an den Anfang des Dateinamens + new_name = prefix + new_name + + # Benenne die Datei um + os.rename(file, new_name) + print(f"Umbenannt: '{file}' -> '{new_name}'") + + +def rename_file(filename): + name = filename.split('.')[0] # ohne Endung + + temp = re.sub(r'\(.*?\)', '', name) # Alles was mit Beginne ( bis einschliesslioch ) löschen + + #print(temp+"."+filename.split('.')[1]) + #os.rename(filename, temp+"."+filename.split('.')[1]) + match1 = re.search(r'# (\d+)', temp) + match2= re.search(r'#(\d+)', temp) + if match1: + # 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: + # 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() + + + 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+"."+filename.split('.')[1]) + + + + + + + +# Aufruf der Funktion (aktuelles Verzeichnis oder ein anderes) +#rename_files(".") + +rename_file(sys.argv[1]) diff --git a/rename_all.py b/rename_all.py new file mode 100755 index 0000000..fd1a860 --- /dev/null +++ b/rename_all.py @@ -0,0 +1,70 @@ +#!/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): + name = filename.split('.')[0] + print (name) # ohne Endung + new_name = "" + + temp = re.sub(r'\(.*?\)', '', name) # Alles was mit Beginne ( bis einschliesslioch ) löschen + + #print(temp+"."+filename.split('.')[1]) + #os.rename(filename, temp+"."+filename.split('.')[1]) + match1 = re.search(r'# (\d+)', temp) + match2= re.search(r'#(\d+)', temp) + if match1: + # 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: + # 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() + + + 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+"."+filename.split('.')[1]) + + + + + + + +# Aufruf der Funktion (aktuelles Verzeichnis oder ein anderes) +#rename_files(".") + +rename_files(sys.argv[1])