Batch Datei läuft nicht

Status
Für weitere Antworten geschlossen.

Klendathu

Cadet 3rd Year
Registriert
März 2017
Beiträge
45
ich habe Probleme mit einer Batch Datei

hier der inhalt

pause
FOR /R %x IN (*trimmed.mp3) DO ren "%x" *.abc
pause
del *.mp3 /s
pause
FOR /R %x IN (*.abc) DO ren "%x" *.mp3
pause

Die datei bennnt alle mp3s in einem verzeichnis und untererzeichnis um. sie haben danach die endung .abc
dann werden die mp3s gelöscht und die abc dateien wieder zu mp3s umbenannt

wenn ich alle befehle in cmd nacheinander eingebe, funktioniert alles reibungslos, schritt für schritt und das ergebnis ist korrekt.
aber wenn ich die fertige bat datei, so wie der inhalt hier steht, ausfhre, bekomme ich bei zeile 2 (For /R...) einen Syntaxerror. Es sxcheint am " zu liegen, ich konnte es bisher noch nicht lösen.

Hat hier jemand eine Idee, wieso die kommandos selbst, alleinstehend funktionieren aber die bat datei als solche nicht funktioniert?

Wäre für jede Art von Hilfe dankbar

Lg Klen
 
In einer Batch datei musst du ein doppeltes '%' verwenden

versuche also
pause
FOR /R %%x IN (*trimmed.mp3) DO ren "%%x" *.abc
pause
del *.mp3 /s
pause
FOR /R %%x IN (*.abc) DO ren "%%x" *.mp3
pause


Info dazu gibts hier
https://ss64.com/nt/for2.html
 
Zuletzt bearbeitet: ('%' beim zweiten mal in der Zeile vergessen)
Schleifenvariablen in einer Batch-Datei benötigen zwei "%" ...

@the_nobs
Es nützt nur wenig, wenn man nicht alle Stellen abändert, an denen die Variablen genutzt werden.
 
Nach meinem Geschmack in Powershell besser zu lösen aber erst alle umzubennen, dann nichts zum löschen zu haben, ergibt genau welchen Sinn (so aus reiner Neugier)?
 
Was war an dem ersten Thread verkehrt? Bleib bitte bei einem Thread und mach nicht jedes mal einen neuen auf, wenn Lösungsansätze nicht sofort und endgültig zum Erfolg führen.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben