Init
This commit is contained in:
83
rename.py
Executable file
83
rename.py
Executable file
@@ -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])
|
||||
70
rename_all.py
Executable file
70
rename_all.py
Executable file
@@ -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])
|
||||
Reference in New Issue
Block a user