Du musst bei foo_peters String eventuell noch die Festplatte vorne ergänzen, also i:.
Das Wichtige an dem String ist $left(%album%,1)\%album%. Der Rest ist variabel.
das Problem kenn ich nur zu gut und hab mir mal ein Tool aus dem Netz besorgt das ich für sehr fähig und genau das richtige für solche Fälle halte.
Google mal nach Remove Empty Directory
wenn du nichts findest sag bescheid.
Ordner löschen tut er. Dafür habe ich ein anderes Problem.
Ich habe versucht das "Sortierte-Verschieben" über "Aktionen" zu realisieren.
Es funktioniert aber nicht so, wie ich es erwartet habe oder von den "Aktionen" kenne.
Alle "Aktionen" die ich bisher gebaut habe, beziehen sich auf einen oder mehrere selektierte Dateien.
Nur meine "Verschiebe-Aktion" nicht.
Die nimmt IMMER ALLE Dateien die in Mp3Tag angezeigt werden.
Damit könnte ich ja noch leben. Aber es werden immer nur die Parameter der ERSTEN selektierten Datei genommen.
Ich habe ein Hauptverzeichnis. Darin befinden sich die Unterverzeichnisse 0..9, A, B, C, usw.
Darin befinden sich Unterverzeichnisse die aus dem Namen des Interpreten bestehen und darin die Musik des Künstlers.
In einem "Testverzeichnis" bearbeite ich neue MP3-Dateien (unterschiedliche Interpreten) mit unserem geliebten MP3TAG (v2.46).
Nach getaner "Arbeit" sollen die Dateien an ihren Bestimmungsort.
Dazu habe ich folgende "Aktion" gebaut:
Feld: _DIRECTORY
Formatstring: f:\MyMusic$if($isdigit($left(%artist%,1)),0..9,$left(%artist%,1))"%artist%"
Die Aktion funktioniert. Aber eben nur mit den gleichen Parametern.
Ist zufällig "10cc" selektiert werden ALLE Dateien in "f:\MyMusic\0..9\10cc" verschoben.
Auch wenn ein Interpret "ZZ TOP" darunter ist.
Danke!
Das war es.
Mir war nicht klar, dass es sich um ein Umbenennen handelt.
Ein Verschieben der Daten wäre schöner.
Da bietet das Betriebssystem mehr Möglichkeiten falls eine Datei schon vorhanden ist.
(Und es wäre schneller!)
Aber ich will nicht meckern. So spart das auch schon viel Arbeit!
Falls es jemanden interessiert, so funktioniert es:
Feld: _FILENAME
Formatstring: f:\MyMusic$if($isdigit($left(%artist%,1)),0..9,$left(%artist%,1))"%artist%""%artist% - %title%"
Dateien werden nach Interpret sortiert gespeichert.
Vorsorierung über 1. Buchstabe des Interpreten.
Z.B.
Laufwerk:[Verzeichnis]A\ABBA\ABBA - Fernando.mp3
Laufwerk:[Verzeichnis]0..9\2Raumwohnung\2Raumwohnung - Besser geht's nicht.mp3
Auf Betriebssystemebene ist das doch genau dasselbe. Bei Unix-Systemen zumindest wird beim Verschieben (solange die Datei auf derselben Partition oder Festplatte hin- und hergeschoben wird) ebenfalls wie beim Umbenennen nur der Dateipfad geändert. Ich denke, mal das wird bei Windows genauso sein.
Hmm.. 100%tig kann ich es nicht sagen, aber ich könnte mir vorstellen, das "Verschieben" (auf gleicher Partition) und "Umbennen" zwei unterschiedliche Systemroutinen sind.
Beim "Verschieben" muss nur ein Zeiger geändert werden.
Beim "Umbenennen" muss noch einiges mehr überprüft werden (Name ->gleich/länger/kürzer usw.)
Aber egal. Ist hier glaube ich nicht das richtige Thema