DISCNUMBER aus Ordner (CD1) schreiben

Hallo,

ich muß Euch noch einmal belästigen. Ich habe tag technisch doch noch ein paar Baustellen vor mir.

Noch eine Frage: Meine mp3's wenn Doppel CD in eigenen Ordner, CD1 CD2 oder Bonus CD.
Wie kann ich die Ordner Information CD1 (Bonus Cd lassen wir mal weg) mit einem Script in das Feld DISCNUMBER schreiben, also Album\Cd1 ---> DISCNUMBER 1?

Gruß
kleinertoto

Bin mir nicht sicher, aber probier mal:
Tag-Felder formatieren:
Feld: DISCNUMBER
Formatstring: $regexp(%_directory%,(\d),$1)

mfG
gnor

Danke, funktioniert, er holt aber CD1 mit, geht es auch nur mit 1 ohne CD?

Gruß
kleinertoto

Probiere es 'mal damit, ob es funktioniert oder nicht:
$regexp(%_directory%,'^.*(\d+)$','$1')
... oder so ...
$regexp(%_directory%,'[^0-9]',)
... oder so ...
$regexp(%_directory%,'\D',)
... oder so ...
$replace(%_directory%,'CD',)
... oder so ...
$mid(%_directory%,$add($len('CD'),1),$sub($len(%_directory%),$len('CD')))
... oder so ...
$reverse($num($reverse(%_directory%),1))

DD.20100328.1911.CEST

Der wars, suuper, vielen Dank.

Gruß

kleinertoto

Ich möchte noch einmal verdeutlichen, dass die fünf vorstehend genannten Mp3tag Skriptausdrücke alle dasselbe Ergebnis produzieren.

1. Filter setzen
%_DIRECTORY% MATCHES "^CD\d+$"

2. Exportskript ausführen gegen die gefilterte Auswahl (... Dateiname anpassen)

$filename(O:\TEST\Test.txt,ANSI)$repeat('=',80)
$loop(%_folderpath%,1)
'%_parent_directory% : '%_parent_directory%
'%_directory% .......: '%_directory%
$repeat('-',80)
'$regexp(%_directory%,''''^.*(\d+)$'''',''''$1'''')'
'Ergebnis ...........: '$regexp(%_directory%,'^.*(\d+)$','$1')

'$regexp(%_directory%,''''[^0-9]'''',)'
'Ergebnis ...........: '$regexp(%_directory%,'[^0-9]',)

'$replace(%_directory%,''''CD'''',)'
'Ergebnis ...........: '$replace(%_directory%,'CD',)

'$mid(%_directory%,$add($len(''''CD''''),1),$sub($len(%_directory%),$len(''''CD'''')))'
'Ergebnis ...........: '$mid(%_directory%,$add($len('CD'),1),$sub($len(%_directory%),$len('CD')))

'$num($reverse(%_directory%),1)'
'Ergebnis ...........: '$num($reverse(%_directory%),1)
$repeat('=',80)
$loopend()

3. Ergebnis betrachten (... Beispiel)

=======================================================================
=========

%_parent_directory% : Simply Smooth Jazz
%_directory% .......: CD1
--------------------------------------------------------------------------------
$regexp(%_directory%,'^.*(\d+)$','$1')
Ergebnis ...........: 1

$regexp(%_directory%,'[^0-9]',)
Ergebnis ...........: 1

$replace(%_directory%,'CD',)
Ergebnis ...........: 1

$mid(%_directory%,$add($len('CD'),1),$sub($len(%_directory%),$len('CD')))
Ergebnis ...........: 1

$num($reverse(%_directory%),1)
Ergebnis ...........: 1
================================================================================

%_parent_directory% : Simply Smooth Jazz
%_directory% .......: CD2
--------------------------------------------------------------------------------
$regexp(%_directory%,'^.*(\d+)$','$1')
Ergebnis ...........: 2

$regexp(%_directory%,'[^0-9]',)
Ergebnis ...........: 2

$replace(%_directory%,'CD',)
Ergebnis ...........: 2

$mid(%_directory%,$add($len('CD'),1),$sub($len(%_directory%),$len('CD')))
Ergebnis ...........: 2

$num($reverse(%_directory%),1)
Ergebnis ...........: 2
================================================================================

%_parent_directory% : Simply Smooth Jazz
%_directory% .......: CD3
--------------------------------------------------------------------------------
$regexp(%_directory%,'^.*(\d+)$','$1')
Ergebnis ...........: 3

$regexp(%_directory%,'[^0-9]',)
Ergebnis ...........: 3

$replace(%_directory%,'CD',)
Ergebnis ...........: 3

$mid(%_directory%,$add($len('CD'),1),$sub($len(%_directory%),$len('CD')))
Ergebnis ...........: 3

$num($reverse(%_directory%),1)
Ergebnis ...........: 3
================================================================================

%_parent_directory% : Simply Smooth Jazz
%_directory% .......: CD4
--------------------------------------------------------------------------------
$regexp(%_directory%,'^.*(\d+)$','$1')
Ergebnis ...........: 4

$regexp(%_directory%,'[^0-9]',)
Ergebnis ...........: 4

$replace(%_directory%,'CD',)
Ergebnis ...........: 4

$mid(%_directory%,$add($len('CD'),1),$sub($len(%_directory%),$len('CD')))
Ergebnis ...........: 4

$num($reverse(%_directory%),1)
Ergebnis ...........: 4
================================================================================

DD.20100514.1920.CEST

Genial :slight_smile:

Ich selbst arbeite mit diesem Script:
$regexp(%_DIRECTORY%,'^(CD|CD |DISC|Disk|Cd|cd|Disc ) 0(\d+)$','$2')

Frage:
Wie kann ich einen hinter der Discnummer eventuell liegenden Zusatztext ebenfalls wegschneiden?

Beispiel String: "CD01 (2015)" oder auch "CD01Bonus"
Gewünschtes Ergebnis "01"

Besten Dank im Voraus!
Viele Grüße

Probier mal
$regexp(%_DIRECTORY%,'^(CD|CD |DISC|Disk|Cd|cd|Disc ) 0(\d+).*$','$2')
mit der Erweiterung nach dem (\d+)

Du solltest aber beide Ersetzungen anwenden, da die wirklich nur jeweils für das angegebene Muster wirken.

$regexp('CD01Bonus','\D',) ==> '01' $regexp('CD01Bonus','^(?:CD|DISC|DISK)\s*0*(\d+)\D*.*$','$1',1) ==> 1 $regexp('CD01 (2015)','^(?:CD|DISC|DISK)\s*0*(\d+)\D*.*$','$1',1) ==> 1

DD.20150301.2025.CET

Danke Euch Beiden für die funktionierenden Lösungen :slight_smile: top