derdoctor
Goto Top

Sonderzeichen aus FOR Variable entfernen

Habe gestern bereits eine Anfrage bezüglich des Auslesens einer beschreibenden Datei und der Weiterverwendung des Ausgelesenen zu einem Dateinamen für eine 3. Dritte Datei gestellt.
1234.txt enthält "titel" "interpret"
1234.wav Umbennen in "titel""interpret".wav

Habe mit dem Batch das mir gestern empfohlen wurde, auch schon einige tausend Dateien so umbenannt wie ich mir das vorgestellt habe, aber dann fiel mir auf,
dass nicht alle Dateien umgenannt wurden. Der Grund dafür ist, das in einigen wenigen der Beschreibenden Textdateien "/" ein Slash imm Titelnamen verwendet wird:
Emiliana, Torrini / Albert & blabla (Radio Edit).

Die Klammern und das Kaufmanns "und" sind kein Problem, aber das Slash ist eins, da das in Dateinamen nicht verwendet werden darf.
Die Frage nun, kriegt man das mit irgendeinem FOR Parameter weg bzw ignoriert?
Es muss nicht aus der Datei verschwinden, aber es darf eben nicht in die %%a Variable mit hinein. (wenn die anderen Sonderzeichen mit weg sind wärs auch nicht schlimm)
In der Hilfe zum For Befehl und auch im Web habe ich wenig brauchbares gefunden.

Vielleicht erbarmt sich hier nochmal jemand für mich??

Gute Besserung

Doc
Kommentar vom Moderator Biber am Feb 05, 2010 um 12:52:02 Uhr
1234.wav Umbennen in "titel""interpret".wav
#rgc=646

Content-Key: 134149

Url: https://administrator.de/contentid/134149

Printed on: April 19, 2024 at 23:04 o'clock

Mitglied: 77559
77559 Jan 22, 2010 at 18:01:23 (UTC)
Goto Top
Hallo Doc,

wenn du eine Frage zu einem bestehenden Thread hast, solltest du die auch da unterbringen oder zu mindestens einen Link zu diesem Thread angeben. So machst du es potentiellen Helfern schwer. Du kannst Zeichen in For Variablen nicht direkt ersetzen, nimm eine :Subroutine und ersetze die Sonderzeichen dort in einer Hilfsvariable.

for /f "delims=" %%i in ('dir /b /a-d *.txt') do if exist "%%~ni.wav" (  
    for /f "usebackq tokens=5,6 delims=;" %%a in ("%%i") do Call :Ren "%%~ni.*" "%%a - %%b.*"   
) 
pause
Goto :Eof
:Ren
Set "NewName=%~2"  
Set "NewName=%NewName:/=;%"  
Ren %1 "%NewName%"  

ungetestet.

Gruß
LotPings
Member: Biber
Biber Feb 05, 2010 at 12:55:21 (UTC)
Goto Top
Moin dudoctor,

geht das noch weiter mit diesem Beitrag oder war's das schon?

Sag doch mal bitte den Stand des Projektfortschritts an....

Grüße
Biber aka derbiber
Member: derdoctor
derdoctor Feb 05, 2010 at 16:06:31 (UTC)
Goto Top
Oh sorry ich hab wohl vergessen den "Beitrag als gelöst markieren" knopf zu drücken.

vielen Dank