Dateien löschen

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)