So, das Problem konnte ich lösen. Manchmal findet man vor lauter Bäumen den Wald nicht mehr. Ich mache die Sortierung jetzt zu beginn, was definitiv auch mehr Sinn macht.
Eine Kleinigkeit habe ich aber noch. Bei einigen Ordnern habe ich eine abweichende Anzahl Ordner. Das heisst ich kann an einem Ort folgendes Bild haben:
1. Offerten
2. Bestellungen
3. Ausführungen
und bei anderen folgende Struktur der Ordnernamen
1. Offerten
2. Bestellungen
3. Reklamationen
4. Ausführungen
Ich sollte nun beim Filter einbauen, dass er mir nicht strickt nach dem Namen des Ordners z.B. "3. Ausführungen" sondern nur nach einem Teil des Namens z.B. "Ausführungen". Wie kann ich das machen?
Dateien auflisten
Also ich habe folgenden Code zur Verteilung meiner Dateien:
Damit verschiebt er mir die Datei ganz genau in die entsprechenden Ordner und am Schluss in "3. Ausführungen". Es gibt aber nun einige wenige Order, in welchem der Ordner "Ausführungen" nicht die Nummer 3 sondern die Nummer 4 hat. Das heisst er müsste nur nach dem Wort "Ausführungen" suchen und die Datei dort ablegen und nicht nach "3. Ausführungen" weil es das nicht gibt.
Code: Alles auswählen
from pathlib import Path
BASEPATH = Path("C:/Users/Startklar/Desktop/Belege")
FILTERS = [
("XBIT", "233-00408710", "Jahr 2022", "3.Ausführungen"),
]
def main():
for place, number in FILTERS:
destination = BASEPATH / place / number
for sourcefile in BASEPATH.glob(f"*{number}*.pdf"):
sourcefile.rename(destination / sourcefile.name)
if __name__ == "__main__":
main()