Frage zu _folderpath_rel


#1

Auf der Basis dieser Umgebung

_parent_directory .......: T
_workingdir .............: TEST
_workingpath ............: O:\TEST\
_path ...................: O:\TEST\T\80er\03.mp3
_folderpath .............: O:\TEST\T\80er\
 depth_path .............: 3
_folderpath_rel .........: T\80er\
 depth_path_rel .........: 2
_directory ..............: 80er
_filename_ext ...........: 03.mp3
_filename ...............: 03
_filename_rel ...........: T\80er\03.mp3

läuft dieses Mp3tag Export Skript:

$filename('O:\Create dummy mp3 files.cmd.txt')
$loop(%genre%)
$loop(%_folderpath%)md "$if2(%genre%,'Unknown')'\'%_folderpath_rel%"
$loop(%_filename_ext%)echo.>"$if2(%genre%,'Unknown')'\'%_folderpath_rel%%_filename_ext%"
$loopend()
$loopend()
$loopend()

und erzeugt diese Stapeldatei:

md "Unknown\TEST\T\80er\"
echo.>"Unknown\TEST\T\80er\03.mp3"

Eigentlich hätte ich diesen Inhalt erwartet:

md "Unknown\T\80er\"
echo.>"Unknown\T\80er\03.mp3"

Wo liegt der Fehler?

DD.20080102.1104.CET


#2

Die relativen Platzhalter beziehen sich auf den Ort der exportierten Datei, hier also auf O:
Dein Testscript wurde hingegen wahrscheinlich in O:\TEST\ erstellt.


#3

Wie oben aus dem Code-Kasten "Auf der Basis dieser Umgebung ..." ersichtlich ist, wird für die im Test verwendete Datei bei stabiler Testumgebung, also bei gleichbleibendem "_workingdir" bzw. "_workingpath", im ersten Exportskript der korrekte Wert "_folderpath_rel .........: T\80er" berechnet und im zweiten Exportskript der unpassende Wert "TEST\T\80er" berechnet.

Hmm, ... im zweiten Skript wird die Anweisung "$filename('O:\Create dummy mp3 files.cmd.txt')" verwendet.
Die fehlerhafte Ausgabe von "_folderpath_rel" scheint gekoppelt zu sein an die absolute Pfadangabe in der Anweisung "$filename()".

Lässt man den Laufwerksbuchstaben weg "$filename('\Create dummy mp3 files.cmd.txt')", dann wird "_folderpath_rel" zwar richtig berechnet, aber die Ausgabedatei wird im Ordner "O:\TEST" abgelegt, was wiederum auch nicht korrekt ist, weil als Ausgabeort wegen des vorangestellten "" das Hauptverzeichnis zu erwarten gewesen wäre.

Das ist irgendwie ziemlich der Wurm drin.

Beispiele:
in allen Fällen %_workingpath%: O:\TEST\T</b>

$filename('Create dummy mp3 files.cmd.txt')
%_folderpath_rel%: 80er
%_filename_rel%: 80er\03.mp3
Ausgabedatei: O:\TEST\T\Create dummy mp3 files.cmd.txt

$filename('</b>Create dummy mp3 files.cmd.txt')
%_folderpath_rel%: </b>80er
%_filename_rel%: </b>80er\03.mp3
Ausgabedatei: O:\TEST\T\\Create dummy mp3 files.cmd.txt

$filename(':</b>Create dummy mp3 files.cmd.txt')
%_folderpath_rel%: </b>80er
%_filename_rel%: </b>80er\03.mp3
Ausgabedatei: O:\TEST\T\\Create dummy mp3 files.cmd.txt

$filename('O:</b>Create dummy mp3 files.cmd.txt')
%_folderpath_rel%: TEST\T</b>80er
%_filename_rel%: TEST\T</b>80er\03.mp3
Ausgabedatei: O:\Create dummy mp3 files.cmd.txt

DD.20080103.1725.CET


#4

Ich sehe ehrlich gesagt das Problem nicht. Wie dano schon richtig bemerkt hat bezieht sich der relative Verzeichnisname der Datei auf den Zielort der Exportdatei.

Viele Grüße,
Florian


#5

Nun kann ich auch nachvollziehen warum es immer wieder zu großen Verständnisproblemen und Fragen in diesem Bereich kommt.
Ich möchte das jetzt auch nicht weiter ausführlich kommentieren, nur kurz meine Meinung: ich halte diesen Bezug auf den Speicherort der Exportdatei für ein großes semantisches Missverständis, um nicht zu sagen für Kokolores.

DD.20080109.2114.CET