Estoy intentando agregar la palabra [Reproducir] a todos los archivos mp3 en una carpeta usando un archivo por lotes como este:
@echo off
for %a in (c:\folder\*.mp3) do ren %a [Replay]%a
Pero no cambiará el nombre de los archivos.
Todos los ejemplos que probé en Google agregan la palabra pero pasan por los siguientes caracteres en el nombre del archivo, solo necesito agregar la palabra al principio sin pasar letras.
¿Alguna idea?
Respuesta1
Hay tres problemas con su archivo por lotes:
En archivos por lotes, debe utilizar
%%a
en lugar de%a
.%%a
contendrá la ruta completa, no solo el nombre del archivo.El cambio de nombre fallará si hay espacios en el nombre del archivo.
En general, también recomendaría dejarlo echo
activado mientras solucionas el problema.
Pruebe esto en su lugar:
cd /d c:\folder
for %%a in (*.mp3) do ren "%%a" "[Replay]%%a"
Si eso cambia el nombre de los archivos dos veces, for
lee las entradas del directorio a medida que avanza. Como solución alternativa, puede guardar la lista en un archivo temporal:
cd /d c:\folder
dir /b *.mp3 > temp
for /f "delims=" %%a in (temp) do ren "%%a" "[Replay]%%a"
del temp