QUOTE (kola @ Apr 12 2012, 18:22)

... Ich habe eine Compilation, welche in 2 Ordner (CD1+CD2) unterteilt ist, wobei jede CD ihre eigene Nummerierung hat (also 01,02,03). Nun möchte ich die beiden Ordner auf der Hauptebene zusammengefasst haben (damit die Ordner CD1 + CD2 wegfallen), allerdings sollte die Nummerierung ab der zweiten CD an die erste CD anknüpfen (Beispiel: CD1: 01,02,03 - CD2: 01,02,03 => 01,02,03,04,05,06). Wie bekomme ich sowas hin? ...
Auch wenn das Thema schon besprochen und zur Zufriedenheit gelöst wurde, so möchte ich doch noch eine andere Vorgehensweise vorschlagen, die zum Verschieben einer Datei das Pseudo-Tag-Feld _FILENAME verwendet.
Der Vorteil liegt darin, dass notfalls der Verschiebeprozess komplett rückgängig gemacht werden kann.
Bei dem Verschieben eines Ordners mit dem Pseudo-Tag-Feld _DIRECTORY funktioniert das Rückgängimachen leider immer noch nicht fehlerfrei und erzeugt ein Ordner Chaos.
Das folgende Beispiel hat diese Voraussetzungen:
- Ein Ordner für das Album, Name beliebig.
- Im Album Ordner jeweils ein Ordner für eine CD.
Der CD-Ordnername beginnt mit 'CD' und es folgt eine Zahl, die eine sortierte Reihenfolge erlaubt.
Zum Beispiel: |CD 1|CD 2|CD 3|
oder |CD1|CD2|CD3|CD4|
oder |CD01|CD02|CD03|CD04|CD05|CD06|CD07|CD08|CD09|CD10|CD11|CD12|
oder |CD-01|CD-02|CD-03|CD-04|CD-05|CD-06|CD-07|CD-08|CD-09|CD-10|CD-11|CD-12|
- In einem CD-Ordner liegen die zu dieser CD gehörenden Dateien.
Die Dateinamen sollen links nummeriert sein wie sie in dieser Reihenfolge auf dieser CD vorhanden sind.
Zum Beispiel: |01 Musik.mp3|02 Musik.mp3|03 Musik.mp3|
oder |01-Musik.mp3|02-Musik.mp3|03-Musik.mp3|
Im folgenden Beispiel werden bestimmte vorhandene Daten in temporären Tag-Feldern gespeichert:
der Dateiname, die Tracknummer, die Disknummer.
Außerdem werden in temporären Tag-Feldern neue Daten erzeugt:
die neue Tracknummer, der neue Dateiname.
Das geschieht für mögliche spätere Verwendung.
Die Arbeit erledigen diese Aktionen:
- Store current filename.
- Extract track number from old filename.
- Extract disc number from current foldername.
- Create new running track number over all selected tracks.
- Create new filename.
- Move file up one folder level.
Nach erfolgreichem Verschieben der Dateien müssen die zurückgebliebenen leeren CD Ordner manuell entfernt werden, zum Beispiel mit dem Windows-Explorer.
Falls nach dem Verschieben der Dateien keine weitere Verwendung besteht für die temporären Tag-Felder, so kann man diese Tag-Felder entfernen, zum Beispiel mit einer Aktion "Tag-Felder entfernen".
Anfang Aktionengruppe Test_2012#20120414.MoveCDFilesUpOneLevel
Aktion #1
Aktionstyp 5: Tagfeld formatieren
Feld _______: TMP_FILENAME_OLD
Formatstring: %_FILENAME%[REM÷Store÷current÷filename.]
Aktion #2
Aktionstyp 5: Tagfeld formatieren
Feld _______: TMP_TRACK_OLD
Formatstring: $regexp(%_FILENAME%,'^(\d+).*$','$1')[REM÷Extract÷track÷number÷from÷current÷filename.]
Aktion #3
Aktionstyp 5: Tagfeld formatieren
Feld _______: TMP_DISCNUMBER_OLD
Formatstring: $regexp(%_DIRECTORY%,'^.+?(\d+)$','$1')[REM÷Extract÷disc÷number÷from÷current÷foldername.]
Aktion #4
Aktionstyp 5: Tagfeld formatieren
Feld _______: TMP_TRACK_NEW
Formatstring: $num(%_counter%,$ifgreater($len(%_total_files%),2,$len(%_total_files%),2))[REM÷Create÷new÷running÷track÷number÷over÷selected÷all÷tracks.]
Aktion #5
Aktionstyp 5: Tagfeld formatieren
Feld _______: TMP_FILENAME_NEW
Formatstring: %TMP_TRACK_NEW%$regexp(%TMP_FILENAME_OLD%,'^\d+',)[REM÷Create÷new÷filename.]
Aktion #6
Aktionstyp 5: Tagfeld formatieren
Feld _______: _FILENAME
Formatstring: %_DIRECTORY%\..\%TMP_FILENAME_NEW%[REM÷Move÷file÷up÷one÷folder÷level.]
Hinweis: Ersetze jedes ÷ Sonderzeichen durch ein Leerzeichen.
Ende Aktionengruppe Test_2012#20120414.MoveCDFilesUpOneLevel (6 Aktionen)Click to view attachmentTest Album Ordner mit 12 CD und 40 Dateien:
Click to view attachmentDD.20120414.1020.CEST