72 lines
2.4 KiB
Python
Executable File
72 lines
2.4 KiB
Python
Executable File
#!/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])
|