Ich versuche, mit einer Batchdatei wie der folgenden allen MP3-Dateien in einem Ordner das Wort [Replay] hinzuzufügen:
@echo off
for %a in (c:\folder\*.mp3) do ren %a [Replay]%a
Die Dateien werden jedoch nicht umbenannt.
Alle Beispiele, die ich beim Googeln ausprobiert habe, hängen das Wort an, überschreiben aber die nächsten Zeichen im Dateinamen. Ich muss das Wort nur am Anfang hinzufügen, ohne dass Buchstaben überschrieben werden.
Irgendwelche Gedanken?
Antwort1
Es gibt drei Probleme mit Ihrer Batchdatei:
In Batchdateien müssen Sie
%%a
anstelle von verwenden%a
.%%a
enthält den vollständigen Pfad, nicht nur den Dateinamen.Wenn der Dateiname Leerzeichen enthält, schlägt die Umbenennung fehl.
Generell würde ich auch empfehlen, die echo
Funktion während der Fehlerbehebung eingeschaltet zu lassen.
Versuchen Sie stattdessen Folgendes:
cd /d c:\folder
for %%a in (*.mp3) do ren "%%a" "[Replay]%%a"
Wenn das Umbenennen der Dateien zweimal erfolgt, for
werden die Verzeichniseinträge dabei eingelesen. Als Workaround können Sie die Liste in einer temporären Datei speichern:
cd /d c:\folder
dir /b *.mp3 > temp
for /f "delims=" %%a in (temp) do ren "%%a" "[Replay]%%a"
del temp