Agregar al inicio del nombre del archivo

Agregar al inicio del nombre del archivo

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 %%aen lugar de %a.

  • %%acontendrá 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 echoactivado 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, forlee 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

información relacionada