Dateien löschen

Hallo,

Ich möchte gerne neue aus dem Internetradio legal mitgeschnittene Songs aus einem Ordner in eine vorhandene iTunes-Ordnerstruktur Pfad\Album\filename.mp3 verschieben. Mit einem Tag-Replace-Befehl in einer Aktion kann ich aus den Feldern Album und Filenamen den gewünschten Pfad zusammenbasteln und die Dateien verschieben, das geht. Wenn ich eine Playliste aus den verschobenen Song mache, kann ich auch alle auf einmal in iTunes importieren.

Problem: etwaige vorhandene Dateien gleichen Namens (ältere Versionen die z.B. nicht ganz ausgespielt wurden) sollen überschrieben werden, und da verweigert sich MP3Tag. Meinetwegen auch umbenannt oder verschoben werden, oder irgendwie so selektiert oder markiert werden, dass man sie in einem Rutsch manuell entfernen kann.

Das Ziel ist, die Songs mit iTunes zu importieren, nach Duplikaten zu suchen, den bereits mit einer Bewertung versehenen Song-Eintrag kurz anzuspielen (dies vermerkt iTunes dann als Änderung, die mit dem iPod synchronisert wird), und den nicht bewerteten, importierten doppelten iTunes-Eintrag zu löschen (Datei bleibt erhalten).

So habe ich das jahrelang gemacht, habe bisher jedoch die Songs per Hand einfach in 4 große iTunes-Ordner geschmissen (und alte Versionen dabei überschrieben), aus denen ich die zuletzt hinzugefügten Songs in iTunes selektieren und pro Ordner importieren konnte.

Ich will hier nicht zu sehr ins Detail gehen, aber ich muss die Ordnerstruktur jetzt so ändern, dass die iTunes-Ordner viel kleiner und zahlreicher sind, ich müsste dann statt 4 Ordnern so um die 50 Ordner manuell in iTunes importieren, was ziemlich mühsam wäre, zumal das öfters nötig ist. Als Playlist funktioniert das, aber dann müssen die darin referenzierten Dateien auch am endgültigen Ort liegen (also MP3Tag nutzen, um einen temporären Ordner mit den neuen Songs anzulegen und dann per Hand diesen mit Unterordnern in die iTunes-Ordner einzusortieren, geht nicht, weil ich sie dann in iTunes nicht wiederfinde). Auf keinen Fall will ich iTunes das Anlegen der Ordnerstruktur überlassen, weil das Programm dann die Dateinamen modifiziert.

Hat jemand eine Idee, wie man MP3Tag dazu bringen kann, vorhandene Dateien gleichen Namens zu überschreiben oder sonst irgendwie aus dem Weg zu schaffen?

Danke für Eure Ideen.

... spontane Gedanken dazu ...

  1. Aus sich heraus weiß Mp3tag nichts von 'gleichen' Dateien.
  2. Dateien mit demselben Dateinnamen können nicht im selben Ordner existieren, weil Dateinamen eindeutig sein müssen.
  3. Dateien mit demselben Dateinamen können in unterschiedlichen Ordner existieren, weil dann der Dateipfadname unterschiedlich ist.
  4. Durch vom Anwender definierte Regeln kann Mp3tag einzelne Dateien in unterschiedliche Ordner verschieben.
  5. Mp3tag kann Dateien aus unterschiedlichen Ordnern in der gemeinsamen Listenansicht anzeigen und dadurch gemeinsam visuell auswertbar machen.
    Mp3tag Konverter und Aktionen sehen dabei immer nur jede Datei einzeln für sich.
  6. Unterschiede zwischen Dateien kann Mp3tag von alleine nicht feststellen (alt/neu, Dateigröße, Spieldauer usw.)
    Der Mp3tag Anwender kann Unterschiede feststellen durch visuelle Kontrolle in der Mp3tag Listenansicht, die nach bestimmten Kriterien sortiert oder gefiltert ist, oder auch mit einem zur Kontrolle angefertigten Mp3tag Export Skript.
  7. Wenn im Tag einer Datei z. B. ein vom Anwender definiertes Tagfeld existiert, welches das Datum der letzten Bearbeitung oder ein anderes geeignetes Merkmal enthält, dann lässt sich damit eine Abfrage für jede Datei konstruieren, die diese Datei dann hierhin oder dorthin verschieben kann (mit Konverter oder Aktion).
    Vielleicht kann man für den Zweck der Unterscheidung alt/neu auch die Mp3tag Systemvariablen benutzen ...
    %_file_create_datetime%, %_file_create_datetime_raw%,
    %_file_mod_date%, %_file_mod_datetime%, %_file_mod_datetime_raw%

DD.20140605.0738.CEST

Wenn die Ordner unter einem gemeinsamen Überordner hängen, geht der Import sehr wohl in einem Rutsch.
Es geht sogar über die Bibliotheken von WIndows, Ordner aus den unterschiedlichsten Ecken des Daetisystems zu "Musik" zusammenzuführen. Und die Bibliothek kann iTunes lesen.
iTunes kann als Spalte das "zuletzt hinzugefügt" Datum zeigen. Da müssten also auch die neuen Dateien identifizierbar sein.

Danke für die schnelle Antwort.

Mmh, okay, theoretisch könnte man den Zielordner (etwa Pop 1990-99, ca. 1500 Songs) und den temporären Ordner mit den neuen Dateien (ca. 200) beide importieren und dann müsste man manuell nach Doubletten suchen und diese Dateien im Zielordner löschen, bevor man die Dateien aus dem temporären Ordner in den Zielordner bewegt. Das wäre allerdings ein relativ großer zusätzlicher Aufwand. Es sei denn, man könnte die Doubletten automatisch suchen und an den Anfang der Liste stellen lassen.

Ich denk' mal drüber nach.

Denn iTunes findet Dubletten eigentlich nur nach Artist/Title - es guckst sich nie die Länge an.
Wenn man dann dem TITLE etwas hinzufügt wie "long version" findet iTunes das nicht mehr als Dublette.
Nur: wenn die Daten so exakt übereinstimmen müssen, dann kannst du das mit MP3tag auch hinkriegen. z.B: mit Sortieren.
Was dann allerdings wieder den Pferdefuß hat, dass man nach mehreren Kriterien immer wieder sortieren muss - allein schon die Problematik mit dem Artikel: heißt es "The Greatest Hits" oder nur "Greatest Hits"? Das eine Mal wird es bei "T", das andere Mal bei "G" eingeordnet.
(ist es "The Beatles" oder "Beatles"?)

Wenn du ähnliche Stücke finden willst, dann wäre ggf. ein Programm wie Similarity eine Hilfe. Das vergleicht mit einstellbarer Unschärfe den Tag- und den Audioteil.

Ja, man kann ganze Ordner importieren, aber dann kann man nicht selektieren, welche Dateien man möchte, und man muss den ganzen Ordner importieren, d.h. ich hätte danach 10000 Songs doppelt, von denen 9800 manuell gelöscht werden müssten und 200 zuerst angespielt (damit iTunes den Link vom Eintrag mit Bewertung, die ich für die Erstellung der Playlisten brauche, auf die ersetzte Datei herstellt). Wenn ich Dateien einzeln importiere, kann ich die Dateien in einem Ordner nach Änderungsdatum sortiert anzeigen und dann genau die zum Import selektieren, die ich eine Minute zuvor in den Ordner verschoben habe. Aber wie gesagt, das müsste ich dann 50mal machen, für Songs eines jeden Jahres einmal (mit 1955 geht's los, sind sogar schon 59 Jahre).

Eine Playliste mit genau den neuen Songs zu importieren wäre der eleganteste Weg. Das Problem ist nur, die neuen Dateien an die endgültigen Orte zu verschieben UND eine Playliste dieser Orte zu generieren, wobei vorhandene Dateien gleichen Namens überschrieben werden sollen.

Ich verrate doch noch etwas mehr über den Zweck der Übung:

Mit dem Programm iTunesExporter kann ich in iTunes angelegte Playlisten mit SD-Karten für's Autoradio synchronisieren. Ich habe eine Batch-Datei geschrieben, die mir auf eine SD-Karte ganz bestimmte iTunes-Listen samt Songs abspeichert. Damit Songs, die in mehreren Listen auftauchen (z.B. Best of 80s, Best of 1985) nicht doppelt angelegt werden, kann ich nicht für jede Playlist einen eigenen Ordner anlegen (dies kann das Programm), sondern lasse das Programm die Original-Ordnerstruktur von iTunes übernehmen. So weit, so gut.

Nur ist das dumme Autoradio nicht in der Lage, mehr als 1000 Dateien in einem Ordner zu verwalten (es liest das gesamte Verzeichnis ein und hört bei 1000 einfach auf) und verweigert alle Playlisten, die sich auf Dateien in solchen Ordnern beziehen. Daher möchte ich die iTunes-Ordnerstruktur so ändern, dass ich nicht pro Jahrzehnt, sondern pro Jahr einen Ordner anlege mit jeweils weniger als 1000 Songs. Dann hätte das Autoradio keine Probleme. Aber dann wird eben das Einsortieren neuer Songs in iTunes kompliziert.

Wenn es ein Tool gäbe, mit dem man, möglichst script- oder batchgesteuert, ausgewählte iTunes-Playlisten auf SD-Karte exportieren könnte, ohne Dateidopplungen und mit den Songs in neuen Album-Unterordnern (Album = Pop ) zu weniger als 1000 Songs einsortiert, dann wäre das ebefalls eine Lösung.

Eigentlich hätte ich die Songs im Auto vom iPod abspielen wollen, dafür habe ich mir ein entsprechendes Interface gekauft, das die iPod-Steuerung komplett übernimmt. Dieses verweigert aber den Shuffle-Modus und die Anzeige von Album-Covern vom iPod, es unterstützt diese nur von SD-Karte. Während letzteres verschmerzbar wäre, ist der Shuffle-Modus unverzichtbar, weil einige Playlisten ein paar hundert Songs lang sind, und ich nicht immer wieder von Anfang an da durchhören möchte. Die andere Alternative ist ein Klinkenkabel vom Kopfhöreranschluss des iPods zum Radio, das vom iPod am Stromanschluss quer über die Mittelkonsole zur Armlehne verläuft, unter der sich der Anschluss zum Radio befindet. Das sieht besch...eiden aus. Wenn ich die Songs in einem dem Autoradio genehmen Form auf SD-Karte bekäme, dann wäre alles perfekt, Shuffle, Coverart, und der iPod könnte zu Hause bleiben und wäre so auch noch diebstahlgeschützt.

Ich habe irgendwie den Eindruck, dass da noch zuviel Handarbeit drin ist.

Also: MP3tag kann Dateien aus iTunes per d&d einlesen. Wenn also die Quelle für das "drag" eine Playlist in iTunes ist, dann lässt sich diese Auswahl auch genauso in Mp3tag einlesen.
Diese Dateien können an einen anderen Ort verschoben werden mit MP3tag-Mitteln.
Das Problem an der Stelle könnte das "Verschoben" sein.
Ich spinne mal weiter:
Wenn sich zuvor die Dateinamen (und Pfade) aus den Tags ergeben haben, dann kann man diese Eigenschaften beliebig manipulieren.
Also: ich kriege eine Playlist aus iTunes raus.
Diese Auswahl ziehe ich in MP3tag.
Dort benenne ich alle Dateien so um, dass sie (erstmal) unterhalb eines fixen Punkts auf der Festplatte hängen, was weiß ich: c:\zum Export\%album%\%title%
Dieses Verzeichnis kopiere ich als ganzes in einen neuen Ordner.
Dann lasse ich MP3tag auf die zuvor verschobenen Dateien wieder los und verschiebe sie zurück an den alten ort (und der sollte auch durch die Tags zu definieren gehen).
Die Kopien der Dateien im neuen Ordner kann ich nun nach beliebigen Kriterien anordnen.
Z.B. kann ich die alle mal durchnummerieren.
Und dann lege ich neue Ordner an mit
sdkarte$div(%track%,1000)\%title%
Damit landen dann immer maximal 1000 Dateien in einem Ordner.
Wenn TRACK erhalten bleiben soll, kannst du auch ein Benutzerdefiniertes Feld mit %_counter% anlegen, was dann für die Dateiverteilung genutzt wird...
Von daher sind die 50 Ordner nicht wirklich nötig. Nur für die autoradio-spezifischen Manipulationen musst du eine Datenquelle haben, die als Container erstmal die notwendigen Daten aufnimmt.

Wenn ich Dich richtig verstanden habe, wäre die Playlist diejenige, die ich auf SD-Karte schreiben möchte.

Problem: das sind auch ziemlich viele, mehr als 2 Stück pro Jahr (einmal alle, einmal "Best of", plus noch ein paar "Best of Jahrzehnt", "Best of Ever", und dann gibt es das ganze neben "Pop" auch nochmal für "Dance" ab 1989). Das wäre dann in der Tat sehr viel Handarbeit, die Playlisten regelmäßig auf dem letzten Stand zu halten.

MP3Tag kann nicht zufällig von der Kommandozeile aus gesteuert werden?

Das schöne am iTunesExporter ist, dass das Programm das Exportieren bestimmter Playlisten in einer Batchdatei erledigen kann (man muss nur eine Variable definieren, die alle Playlistennamen enthält, und das Programm damit aufrufen). Nur kann es leider keine Ordnerstruktur aus Albumartist (wäre bei Jahres-Compilations immer Various) und Album erzeugen. Ich habe den Entwickler eben auch mal angeschrieben, vielleicht baut er das noch ein. Wäre ja auch generell als Ordnerstruktur nicht verkehrt, wenn man ohne Playlisten durch seine Musiksammlung navigieren möchte. Dann könnte ich in iTunes die Struktur lassen wie sie ist und der iTunesExporter würde die Songs in eine neue Ordnerstruktur mit den angepassten Playlisten überführen. Das Programm leistet dies schon, nur eben nicht in einer Struktur, die mein Autoradio akzeptiert.

Kniffliges Problem.

Also: wenn du die Dateien schon auf der Karte hast, kannst du sie doch noch mal mit MP3tag bearbeiten und nach dem schon vorgestellten Muster verschieben (nur auf der Karte).
De facto arbeitest du mit Kopien, die den (sehr speziellen) Bedürfnissen des Abspielers angepasst werden.

Die Arbeitsschritte sind etwa so ...
0. In Mp3tag Listenansicht eine Spalte anlegen, z. B. ...
Name: X, Wert: %X%, Feld: %X%, Sortieren nach: %_filename%%X%%_folderpath%

  1. Temporären Ordner mit den neuen Dateien in Mp3tag einlesen.
  2. Tagfeld X füllen mit 'x' oder 'n' für 'neu', manuell oder durch Aktion "Format value".
  3. Zielordner zusätzlich in Mp3tag einlesen.
  4. Sortieren nach Spalte X.
  5. Die zu löschenden alten Dateien manuell markieren.
  6. Dateien manuell löschen via Menü "Mp3tag/Bearbeiten/Löschen..." ...
    ... oder ein dafür passendes Exportskript ausführen, das wiederum eine Kommandodatei erzeugt, womit dann die Löschung der ausgewählten Dateien erledigt wird.
  7. Die neuen Dateien in die 'alte' Struktur verschieben.

Hmm ... die Schritte 4,5,6,7 können vielleicht zusammengefasst durch ein Exportskript erledigt werden.
Hmm ... wenn man als Unterscheidungskriterium nicht ein besonderes Tagfeld X nehmen möchte, dann könnte man sicherlich auch den Verzeichnispfad zur Unterscheidung benutzen, so erspart man sich den Schritt 2 auch noch.

DD.20140605.1254.CEST

Wenn es sich am Ende nur um einen Vergleich von Dateien in Ordnern handelt, dann würde ich den TotalCommander nehmen und beide Ordner/-bäume miteinander vergleichen und schließlich die Dateien mit denselben Dateinamen "von rechts nach links kopieren". Fertig.

Außerdem bietet iTunes durch die eingebaute Programmierschnittstelle COM Object "iTunes.Application" die Möglichkeit der externen Steuerung durch ein VBScript oder andere Skriptsprachen, womit ein Import in die Datenbank oder ein "auffrischen"' gesteuert werden kann; vermutlich können auch Playlisten automatisch erzeugt werden.

Beispiel:
Set objiTunes = CreateObject("iTunes.Application")
Set objTracks = objiTunes.LibraryPlaylist
Set objAdd = objTracks.AddFile("N:\NEU\07_StopMessingAround_Omar_TNLT_1991.mp3")


Eigentlich muss ein Vergleich überhaupt nicht angestellt werden!

Man braucht nur ...

... ein Mp3tag Export Skript, welches eine DOS CMD Datei erzeugt, ...
für jede zu verschiebende Datei so etwa mit diesem Kommando ...

'MOVE /Y "'%_path%'" "'%_folderpath_old%'"'

... und dazu ein zweites Mp3tag Export Skript, welches die dazugehörige Playliste erzeugt.
(Frage dazu: um welchen Dateityp, welche Dateiendung, handelt es sich dabei?)

DD.20140605.1449.CEST

Hier ist eine Exportdatei, welche eine Stapeldatei erzeugt, nun doch mehr als nur eine Zeile, ...
Verzeichnisnamen und Dateinamen musst du anpassen an deine Umgebung ...
benutze Mp3tag Platzhalter wo erforderlich ...

01: $filename($getEnv('USERPROFILE')'\Desktop\Mp3tag.MoveFileToFolder.cmd',ANSI)$puts(

02: )'@ECHO OFF'
03: 'CLS'
04: 'REM #===================================================================='
05: 'REM # Mp3tag.MoveFileToFolder.cmd'
06: 'REM #'
07: 'REM # ©20140605.Detlev Dalitz'
08: 'REM #--------------------------------------------------------------------'
09: 'REM # This cmd script file has been created by Mp3tag export feature
.
'
10: 'REM # Export script file: "Export.CMD.20140605.MoveFileToFolder.mte'
11: 'REM #--------------------------------------------------------------------'
12: 'REM # '%_datetime%' '%_app%
13: 'REM #===================================================================='
14: 'CHCP 1252 1>NUL 2>NUL'
15: 'ECHO.[Mp3tag.MoveFileToFolder.cmd]'
16: 'ECHO.'
17:
18: 'REM Set DOS Environment Variable COPYCMD for MOVE, COPY, XCOPY ...'
19: 'REM to control prompting to confirm overwriting of the destination.'
20: 'SET COPYCMD=/-Y & REM Do prompting.'
21: 'SET COPYCMD=/Y & REM Do not prompting.'
22:
23: 'REM Set complete filepathname for list file output here ...'
24: 'REM Make sure output folder to exist.'
25: 'REM MD ...'
26: 'SET FilePathListfile='$getEnv('USERPROFILE')'\Desktop\Mp3tag.Listfile.txt'
27:
28: 'ECHO.'$char(7)
29: 'CLS'
30: 'ECHO.Move file to folder'
31: 'ECHO.-------------------'
32: 'IF EXIST "%FilePathListfile%" DEL /P "%FilePathListfile%" & ECHO.'
33:
34: $loop(%_path%)
35: 'REM Loop '%_counter%
36:
37: 'REM Set new folderpathname with trailing backslash\ ... use Mp3tag placeholders'
38: 'SET FolderPathNew=O:\TEST\T1\Edits\new<!--colorc-->'
39:
40: 'REM Set current filepathname ... use Mp3tag placeholders'
41: 'SET FilePathNow='%_path%
42:
43: 'REM Set current folderpathname ... use Mp3tag placeholders'
44: 'SET FolderPathNow='%_folderpath%
45:
46: 'REM Set current filename ... use Mp3tag placeholders'
47: 'SET FileName='%_filename_ext%
48:
49: 'REM Set progress counter'
50: 'SET Progress='%_counter%
51:
52: 'CLS'
53: 'ECHO.Move file to folder'
54: 'ECHO.-------------------'
55: 'ECHO.Counter ..: %Progress%'
56: 'ECHO.File .....: "%FileName%"'
57: 'ECHO.Folder now: "%FolderPathNow%"'
58: 'ECHO.Folder new: "%FolderPathNew%"'
59: 'ECHO.'
60: 'IF NOT EXIST "%FolderPathNew%" MD "%FolderPathNew%"'
61: 'MOVE "%FilePathNow%" "%FolderPathNew%"'
62: 'IF NOT ERRORLEVEL 1 ECHO.%FolderPathNew%%FileName%>>"%FilePathListfile%"'
63: 'REM DIR /P/A/N/O "%FolderPathNew%%FileName%"'
64: 'ECHO.'
65: 'IF ERRORLEVEL 1 PAUSE'
66: $loopend()
67: 'IF EXIST "%FilePathListfile%" START "Result" /MAX "%FilePathListfile%"'
68: 'DEL "%~0" 1>NUL 2>NUL & EXIT'
69: 'REM ====================================================================='

Export.CMD.20140605.MoveFileToFolder.mte ( 2.12K ) Number of downloads: 2

Export.CMD.20140605.MoveFileToFolder.mte (2.45 KB)

DD.20140607.0634.CEST

Export.CMD.20140605.MoveFileToFolder.mte (2.45 KB)

Ja, aber dann müssen die zahlreichen auf der Karte befindlichen Playlisten auf die neuen Dateiorte geändert werden. Das wäre eher etwas für ein selbstgeschriebenes Programm.

Es sei denn, ich bastele mir die Playlists in MP3Tag neu. Man könnte die iTunes-Wertung ja auf den Wertungs-Tag der Datei übertragen (z.b. in iTunes nach Wertung sortieren, mit D&D alle Dateien der gleichen Wertung nach MP3Tag ziehen und dann dort den Wertungstag entsprechend anpassen lassen).

Kann ich in MP3Tag einen Haufen Dateien öffnen und daraus automatisch eine Liste von Playlisten mit verschiedenen Kriterien generiern lassen? Oder alternativ mit einem anderen Programm? Alles aus einem Jahr, alles aus einem Jahr mit mehr als 3 Sternen, alles aus einem Jahrzehnt mit mehr als 4 Sternen usw.?

Das Sichten der doppelten Dateien klingt immer noch nach etwas viel Handarbeit.

Nicht ganz, das Bewegen muss MP3Tag machen, damit es eine Playliste für den anschließenden iTunes-Import generieren kann, aber das bringt mich auf eine Idee: vielleicht kann man eine Windows-Batch-Datei schreiben, die die Filenamen in 2 Ordnern mit Unterordnern vergleicht und gleiche Namen in dem iTunes-Zielordner ohne Nachfragen löscht oder umbenennt. Dann könnte MP3Tag nämlich ohne Kollision die Dateien durch Umbenennen an den Zielort verschieben. Das wäre die Lösung. Allerdings kenne ich mich in Batch-Programmierung nicht wirklich aus, aber gut, muss man halt lernen.

Das ist schon nahe dran (ganz unten):

http://stackoverflow.com/questions/4248843...are-different-d

statt "NOT exist" "exist" und statt "echo ..." "del ...". %2 Müsste nur noch durch seine Subfolder iteriert werden

Das klingt auch interessant, aber mit VBScript kenne ich mich noch weniger aus als mit Batchscript... :unsure:

Guck dir mal die Filterfunktion an. Damit kann man die geladenen Dateien nach unterschiedlichen auch kombinierten Kriterien zusammenstellen

%year% HAS 198 AND %popularimeter% IS 128
von dieser Auswahl kannst du dann eine Playlisten erzeugen. Und mit anderen Kriterien eine weitere.

Vielleicht wird es in einer kommenden Version von Mp3tag die Möglichkeit geben, diese Warnung/Fehlermeldung von Mp3tag zu vermeiden, vielleicht durch die Option, eine mit demselben Dateipfadnamen existierende Datei doch überschreiben zu können???

DD.20140606.0837.CEST

Das wäre natürlich cool.

Ich empfinde es ja immer als gute Warnung, wenn anscheinend eine Umbenennungsregel zu Konflikten führt, die nicht einfach blind ausführen zu lassen.
Denn es kann ja auch sein, dass die Zieldatei einfach aus Schlampigkeit noch keinen eindeutigen Namen bekommen hat.

Für den OP habe ich den Eindruck, dass das Problem mehr aus seinem Workflow und den besonderen ANforderungen des Autoradios herrührte. Mit einigen Änderungen in der Datenaufbereitung lässt sich das Problem wohl lösen, ohne dass es die Option zum Überschreiben gibt.

Da war doch mal was. :wink:
Verhalten bei gleichen Dateinamen in einem Ordner

Wow, großartig, vielen Dank. Es handelt sich um m3u-Playlisten.

Ich hab's mal probiert, und es funktioniert im Prinzip, aber noch nicht ganz fehlerfrei. Einerseits gibt's Probleme bei allen Dateien und Pfaden mit Umlauten etc. Zum Zweiten fragt das Programm zwar, ob es eine vorhandene Datei überschreiben soll; bestätigt man mit J, kommt jedoch die Fehlermeldung "Das System kann die angegebene Datei nicht finden."

Aber genial, dass das so funktioniert, nochmals vielen Dank!

Hat sich erledigt mit den Fehlern nachdem ich ganz zu Anfang ein CHCP 1252 ergänzt habe. Er kann Umlaute verarbeiten, er fragt nicht mehr, ob er löschen soll, und er überschreibt die vorhandenen Dateien.

Jetzt passe ich noch den Zielpfad an das Format %Album%/%-filename" an und der Move-Befehl ist komplett.

Die Ausgabe ins Textfile muss dann noch M3u-kompatibel gemacht werden. Das schaffe ich wohl noch. Supervielen Dank!!!

Vielen Dank für den Hinweis zum Wechseln der Codepage!
Ich war die ganze Zeit schon unsicher, ob ich nicht noch etwas vergessen hatte.

Da muss nichts besonders kompatibel gemacht werden.
Es reicht aus, die Dateiendung von ".txt" auf ".m3u" oder ".m3u8" zu ändern.

DD.20140607.0725.CEST

Na, das ist einfach.

Ich würde mir gerne in MP3Tag den Zielordner als Spalte und Feldvariable zusammenbasteln, die ich dann in dem Skript verwenden kann. Die neue Spalte iTunes-Ordner soll dann für Popsongs den String "Compilations\Pop\%album%" und für Dance "Compilations\Dance\%album%" enthalten. Ich versuche das gerade mit einem

$if ( $eq ($left(%album%,3),Pop) , $ansi(Compilations\Pop\%album%), $ansi(Compilations\Dance\%album%) )

im Wertefeld der neuen Spalte zu erzeugen, aber anscheinend wertet MP3Tag keine Formeln als Spaltenwerte aus, es wird meine Formel als String mit substituierten Tagvariablen ausgegeben. Oder mache ich einfach Syntaxfehler? Ohne $if einfach als Wert "Compilations\Pop\%album%" funktioniert es. Hab' auch "" und '' um den Wert "Pop" versucht. Ein Stringcompare habe ich nicht gefunden.

Was auch nicht klappt, ist in einer Aktion auf das neue iTunes-Ordner-Feld zuzugreifen, sonst könnte ich die Formel in die Aktion mit hineinnehmen, die mir den Albumnamen "Pop year%" bzw. "Dance %year%" zusammenbaut.

Hast Du einen Tipp, wie das geht?