Ich habe ein Python-Skript geschrieben, welches die Medien-Ordner von überflüssigem Ballast befreit. Das heißt:
- leere Ordner werden gelöscht
- alle Ordner und Dateien, in denen sich keine Mediendateien befinden bzw. keine Mediendateien sind, werden gelöscht
Mediendateien sind lt. Definition:
- Dateien mit der Endung '.MKV', '.ISO', '.MP4', '.MPG', '.MPEG', '.MOV', '.H264', '.H265', '.TS', '.PDF', '.FLAC', '.WAV', '.OGG', '.MP3'
- Dateien größer 100MB
Das Skript ist bewusst kein Addon, da das Potential einfach zu groß ist, dass man dadurch versehentlich einen Großteil seiner Medien verliert. Lässt man dieses Skript bspw. auf seine Bildersammlung los, ist diese anschliessend weg. Außerdem sollte man gewisse Grundkenntnisse im Skripten haben und auch die Ausgaben des Skriptes interpretieren können.
Ich möchte nochmals darauf hinweisen, dass bei falscher Anwendung ein Großteil der Filme, Audiodateien und Bilder gelöscht werden kann.
Das Skript wird wie folgt aufgerufen (hier z.B. LibreElec):
"media" ist das entsprechende Wurzelverzeichnis, ab dem rekursiv gelöscht wird.
Es erfolgt ein 'Trockenlauf', d.h. es werden lediglich die zu löschenden Dateien aufgelistet, bzw. Ausnahmen angezeigt. Bevor der eigentliche Lauf angestoßen wird, sollte man sich die generierte Ausgabe genau anschauen. Sind Dateien/Ordner dabei, die man nicht löschen möchte, gibt es verschiedene Möglichkeiten:
- komplette Ordner inclusive Unterordner kann man ausschliessen, indem man im Ordner eine (versteckte) Datei namens .donotdelete anlegt. Der Punkt (.) vor dem .donotdelete ist wichtig!
- auszuschliessende Dateiformate oder Verzeichnisse kann man dauerhaft im Script selbst einfügen (Zeile 4/5)
- zusätzlich auszuschliessende Dateitypen/-formate kann man optional dem Aufruf hinzufügen (s.u.)
Hier werden NFO-Dateien, IDX-Dateien sowie PNG-Bilddateien vom Löschen ausgeschlossen. Groß-/Kleinschreibung der Dateendungen ist egal, die Liste der Endungen wird per Leerzeichen getrennt und muss in Anführungszeichen gesetzt werden.
War der Trockenlauf erfolgreich und befindet sich keine Datei, die nicht gelöscht werden soll, in der generierten Liste, kann man einen 'heissen' Lauf machen. ACHTUNG: Es werden Dateien ohne weitere Abfrage gelöscht, in einem darauf folgenden 2. Lauf auch alle leeren Verzeichnisse:
Nach diesem Lauf befinden sich nur noch Dateien in den Media-Ordnern, die die oben aufgeführten Dateiendungen haben (incl. der exclude-Dateien) oder größer als 100 MB sind. Das betrifft auch Dateien in Ordnern + Unterordnern, die eine .donotdelete im Verzeichnis haben. Leere Ordner sind verschwunden.
Es ist relativ sinnfrei, das Script auf den pictures-Ordner anzuwenden, sämtliche jpg, jpeg, tif, png usw. sind danach weg! Ebenso macht es absolut keinen Sinn zu denken, 'Großreinemachen' ist media=/storage. Anschließend dürft Ihr euer System neu installieren!
Ich übernehme keinerlei Haftung, jeder muss selbst wissen, was er macht! Ein Backup vorher ist in jedem Fall sinnvoll!
Für Hinweise, Anregungen oder Ergänzungen habe ich immer ein offenes Ohr.