Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge

Per batchschleife Dateinamen zerlegen

staubwolke / 8 Antworten / Flachansicht Nickles

Moin Leutz,

hab eine Frage zu einem Problem in einer batch Datei

ich möchte mit zB einem DIR *.flac die FLAC Dateien eines Verzeichniss listen die nach dem Schema
"01 - Interpret - Titel.erw" aufgebaut sind und die Namensteile als Variable weiter verwenden.

Wie kann ich innerhalb einer Schleif den Dateinamen in die drei Bestandteile zu Variablen separieren?
Mit dem folgenden Ansatz kann ich zB prima einen übergebenen Namen und in 4 Teile auftrennen
wenn der Trenner ein ";" ist

FOR /F "tokens=2,3,4* delims=;" %%i in ("%~1") do (
echo %%i
echo %%j
echo %%k
echo %%l
)
aber die "delims" Option lässt leider nur einzelne Trennzeichen zu und keine Kombinationen,
das Problem ist nun der von mir ungünstig gewählte Trenner " - " also die drei Zeichen

Meine Idee wäre jetzt vorher das " - " durch ein ";" zu ersetzen entweder in der Schleife
oder auch die Dateien per Batch vorher umbenennen in "01;Interpret;Titel"
aber dazu habe ich leider keinen Ideenansatz ...

kann mir jemand einen Tip geben wie ich das Problem lösen kann???

Staubwolke

bei Antwort benachrichtigen
staubwolke peterson „Ich weiß nicht genau, was Du willst, aber ich löse so etwas anders. Einfach...“
Optionen

hi
danke für den Hinweis aber ich möchte die "Teilstrings" als Variablen innerhalb der batch weiter verarbeiten,
um dann damit eine *.cue Datei zu erstellen. Die nötigen Infos dazu sollen aus dem Pfad/Dateiname String extrahiert werden.

wegen der Lesbarkeit hatte ich mich mal für den Trenner " - " entschieden, was aber nun mit FOR /F... delims" Probleme macht,
weil das so nicht ansprechbar ist und das möchte ich innerhalb der batch lösen / umschiffen.

ich hoffe da hat noch jemand eine Idee ......

Staubwolke

bei Antwort benachrichtigen