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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Kommentar vom Moderator Biber am 05.02.2010 um 13:52:02 Uhr
1234.wav Umbennen in "titel""interpret".wav
#rgc=646Content-ID: 134149
Url: https://administrator.de/contentid/134149
Ausgedruckt am: 23.11.2024 um 04:11 Uhr
3 Kommentare
Neuester Kommentar
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.
ungetestet.
Gruß
LotPings
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